我有一个WPF应用程序,我动态设置create datagrids并将itemsource设置为datatable。
DataGrid grdTemp = new DataGrid();
grdTemp.FrozenColumnCount = 2;
grdTemp.ItemsSource = dtTemp.DefaultView;
我想将一些列可见性设置为折叠。但是,在我检查grdTemp.Columns时设置itemsource后,其显示计数为0.项目源设置正确并显示在UI上。但我无法设置列可见性。我不确定我在这里缺少什么。
答案 0 :(得分: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;
}
希望这有助于你