2011-05-31 65 views
0

我使用下面的一個DataGrid控件綁定到數據表:綁定到數據表與選擇

dataGrid1.ItemsSource = dataTable1.DefaultView; 

現在我想對在對應於用戶選擇在一個ComboBox我的DataGrid中更改的項目。即我需要選擇性地綁定到dataTable?下面的代碼工作,但我覺得它是矯枉過正:

dataView1 = new DataView(
    dataTable1, 
    "Combox_ID = " + comboBoxId, 
    "ID ASC", 
    DataViewRowState.CurrentRows);c 
DataTable dataView1DataTable = dataView1.ToTable(); 
dataGrid1.ItemsSource = dataDvDt.DefaultView; 

是否有simplier辦法做到這一點,像下面,但作品?

/* below code doesn't work */ 
dataGrid1.ItemsSource = dataTable1.Select("ComboBox1_ID = 0").DefaultView; 

回答

0

只是綁定到DataView本身,就像你在技術上已經這樣做。

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

dataGrid1.ItemsSource = dv; 

除非你想保護的修改有沒有必要建立一個新的表副本的原始數據。