[英]C# WPF populating a datagrid combobox column from SQL Server 2014
[英]Populating datagrid from selected items in a combobox C# WPF
我试图将数据从ComboBox插入DataGrid 。
现在,使用下面的代码片段,我已经可以在我的datagrid中插入一行,但是由于某种原因该行显示为完全空。
private void cmbAddExtras_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
using (DataEntities DE = new DataEntities())
{
tblExtra E = (tblExtra)cmbAddExtras.SelectedItem;
List<string> items = new List<string> { E.ItemCode };
items.Where(item => item.ToString() != null).ToList().ForEach(i =>
{
dgAddExtras.Items.Add(i);
});
}
}
我也尝试通过XAML绑定我的列,但是有同样的问题,它仍然在我的datagrid中显示一个空行。
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding ItemID}" Header="id" MinWidth="20" MaxWidth="100"/>
<DataGridTextColumn Binding="{Binding ItemCode}" Header="Code" MinWidth="80" MaxWidth="100"/>
<DataGridTextColumn Binding="{Binding ItemDescription}" Header="Description" MinWidth="80" MaxWidth="100"/>
<DataGridTextColumn Binding="{Binding ItemPrice}" Header="Price" MinWidth="80" MaxWidth="100"/>
<DataGridTextColumn Binding="{Binding ItemSellingPrice}" Header="QTY" MinWidth="80" MaxWidth="100"/>
</DataGrid.Columns>
我提供给该类的列名与表中的列名完全相同,以防万一有人想知道。
我不知道为什么要这么做。 可能是我很想念的一件很简单的事情,如果是这样,对不起:P并感谢您的提前帮助!
您的代码是错误的:
在下面一行要添加只是一个string
的List
“ items
”
List<string> items = new List<string> { E.ItemCode.ToString() };
那么,如何期望一个字符串具有在DataGrid
列中引用的所有此类属性?
像这样写:
private void cmbAddExtras_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
using (DataEntities DE = new DataEntities())
{
tblExtra E = (tblExtra)cmbAddExtras.SelectedItem;
List<tblExtra> items = new List<tblExtra> { E };
items.Where(item => item != null).ToList().ForEach(i =>
{
dgAddExtras.Items.Add(i);
});
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.