将数据网格列可见性设置为在WPF中折叠

时间:2015-11-19 02:38:24

标签: c# wpf datagrid

我有一个WPF应用程序,我动态设置create datagrids并将itemsource设置为datatable。

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

我想将一些列可见性设置为折叠。但是,在我检查grdTemp.Columns时设置itemsource后,其显示计数为0.项目源设置正确并显示在UI上。但我无法设置列可见性。我不确定我在这里缺少什么。

1 个答案:

答案 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;
        }

希望这有助于你