使用Select绑定到DataTable

时间:2011-05-31 08:59:02

标签: c# binding

我使用以下内容将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;

1 个答案:

答案 0 :(得分:0)

只需绑定到DataView本身,就像你在技术上已经做的那样。

var dv = new DataView(dataTable1, 
    "Combox_ID = " + comboBoxId, 
    "ID ASC",
    DataViewRowState.CurrentRows);

dataGrid1.ItemsSource = dv;

除非您想保护原始数据不被修改,否则无需创建新的表副本。