2015-11-19 63 views
0

我有一個WPF應用程序,其中我設置了動態創建datagrid並將itemsource設置爲datatable。將datagrid列的可見性設置爲在WPF中摺疊

DataGrid grdTemp = new DataGrid();     
grdTemp.FrozenColumnCount = 2; 
grdTemp.ItemsSource = dtTemp.DefaultView; 

我想將某些列可見性設置爲摺疊狀態。但是,在我檢查grdTemp.Columns時設置了itemsource後,它的顯示計數爲0.項目源設置正確並顯示在UI上。但是我無法設置列的可見性。我不知道我在這裏失去了什麼。

回答

1

使用DataGrid的事件來摺疊列。

DataGrid grdTemp = new DataGrid();     
grdTemp.FrozenColumnCount = 2; 
grdTemp.ItemsSource = dtTemp.DefaultView; 
grdTemp.AutoGeneratingColumn += new EventHandler<DataGridAutoGeneratingColumnEventArgs>(grdTemp_AutoGeneratingColumn); 

並在該事件中,您可以獲取該列及其屬性。

void grdTemp_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) 
     { 
      if(e.Column.Header == "ID") //you can add your check for the column 
       e.Column.Visibility = Visibility.Collapsed; 
     } 

希望這有助於你

相關問題