C# 我使用了错误的数据网格吗?
我在WPF中有一个程序,我在数据网格中加载了一堆数据 Datagrid xaml:C# 我使用了错误的数据网格吗?,c#,wpf,C#,Wpf,我在WPF中有一个程序,我在数据网格中加载了一堆数据 Datagrid xaml: 然后我向Datagrid添加一个Combobox列 代码: DataTable=newdatatable(); DataGridComboxColumn dgvCmb=新DataGridComboxColumn(); dgvCmb.ItemsSource=新列表 { “Ghanashyam”, “吉涅什”, “伊什弗”, “阿南” }; dataGrid.Columns.Add(dgvCmb); 这些值是测
然后我向Datagrid添加一个Combobox列
代码:
DataTable=newdatatable();
DataGridComboxColumn dgvCmb=新DataGridComboxColumn();
dgvCmb.ItemsSource=新列表
{
“Ghanashyam”,
“吉涅什”,
“伊什弗”,
“阿南”
};
dataGrid.Columns.Add(dgvCmb);
这些值是测试的临时值,稍后将进行更改
其思想是,用户根据该行中的其他数据(我当前的测试集为810行)在组合框中选择一些内容
我遇到的问题是,每当我在组合框中选择某个内容并更改行时,所选数据就会从前一行中删除
所以很自然地,我认为我需要自己处理这件事。在互联网上搜索了一下后,我发现:
但是,当我尝试实现此功能时,我发现我的Datagrid无法识别该事件
我检查过,很明显,有两个名称空间包含Datagrid对象:
system.windows.forms.datagrid
及
system.windows.controls.datagrid
我用错了吗?因为在VisualStudio的工具箱中,我只看到一个Datagrid
如果这种情况可以得到更好的处理,我们将非常感谢您的建议。您应该使用
SelectedItemBinding
将所选值存储在组合框中的数据表的一列中:
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("SelectedValue"));
DataGridComboBoxColumn dgvCmb = new DataGridComboBoxColumn();
dgvCmb.SelectedItemBinding = new Binding("SelectedValue");
dgvCmb.ItemsSource = new List<string>
{
"Ghanashyam",
"Jignesh",
"Ishver",
"Anand"
};
dataGrid.Columns.Add(dgvCmb);
DataTable=newdatatable();
table.Columns.Add(新数据列(“SelectedValue”);
DataGridComboxColumn dgvCmb=新DataGridComboxColumn();
dgvCmb.SelectedItemBinding=新绑定(“SelectedValue”);
dgvCmb.ItemsSource=新列表
{
“Ghanashyam”,
“吉涅什”,
“伊什弗”,
“阿南”
};
dataGrid.Columns.Add(dgvCmb);
System.Windows.Controls
是WPF,System.Windows.Forms
是WinForms。两种不同的框架。