我使用以下内容将DataGrid控件绑定到DataTable:
dataGrid1.ItemsSource = dataTable1.DefaultView;
现在我希望DataGrid中的项目更改对应于ComboBox中的用户选择。即我需要有选择地绑定到dataTable吗?以下代码有效但我觉得它有点矫枉过正:
dataView1 = new DataView(
dataTable1,
"Combox_ID = " + comboBoxId,
"ID ASC",
DataViewRowState.CurrentRows);c
DataTable dataView1DataTable = dataView1.ToTable();
dataGrid1.ItemsSource = dataDvDt.DefaultView;
有一种更简单的方法可以做到这一点,如下所示但有效吗?
/* below code doesn't work */
dataGrid1.ItemsSource = dataTable1.Select("ComboBox1_ID = 0").DefaultView;
答案 0 :(得分:0)
只需绑定到DataView
本身,就像你在技术上已经做的那样。
var dv = new DataView(dataTable1,
"Combox_ID = " + comboBoxId,
"ID ASC",
DataViewRowState.CurrentRows);
dataGrid1.ItemsSource = dv;
除非您想保护原始数据不被修改,否则无需创建新的表副本。