zoukankan      html  css  js  c++  java
  • WPF datagrid AutoGenerateColumns隐藏部分列

    <DataGrid x:Name="gridWC"  ItemsSource="{Binding WorkCenterDataLis}"   AutoGenerateColumns="True"   >
                        <DataGrid.Columns>
                              <DataGridTextColumn Binding="{Binding IsHasExpend}" Visibility="Collapsed" Header="IsHasExpend"/>
                            <DataGridTextColumn  Binding="{Binding FID}" Visibility="Collapsed"  Header="FID"/>
                            <DataGridTextColumn  Binding="{Binding ParientFID}" Visibility="Collapsed" Header="ParientFID"/>
                  </DataGrid>

    之前使用的dev的gridcontrol,如果我的列bingding的字段与itemssource中的相同,而此列的Visibility设置为不可见,则界面显示的时候,这列就不可见。

    但是用的DataGrid不支持这种功能,如果ItemsSource中也有IsHasExpend、FID、ParientFID,我AutoGenerateColumns设置为true,则会重复出现。

    解决方法是使用DataGrid的AutoGeneratingColumn事件,在生成列的时候过滤掉不需要的列。

    <DataGrid x:Name="gridWC"  ItemsSource="{Binding WorkCenterDataLis}"   AutoGenerateColumns="True" AutoGeneratingColumn="gridWC_AutoGeneratingColumn" >
                        <DataGrid.Columns>
                             <!--<DataGridTextColumn Binding="{Binding IsHasExpend}" Visibility="Collapsed" Header="IsHasExpend"/>
                            <DataGridTextColumn  Binding="{Binding FID}" Visibility="Collapsed"  Header="FID"/>
                            <DataGridTextColumn  Binding="{Binding ParientFID}" Visibility="Collapsed" Header="ParientFID"/>-->              
    </DataGrid>
    private void gridWC_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
            {
                if (e.Column.Header.ToString()=="IsHasExpend"||
                    e.Column.Header.ToString() == "FID"||
                    e.Column.Header.ToString() == "ParientFID")
                {
                    e.Cancel = true;
                }
            }

    这样就不显示了。

  • 相关阅读:
    POJ 1401 Factorial
    POJ 2407 Relatives(欧拉函数)
    POJ 1730 Perfect Pth Powers(唯一分解定理)
    POJ 2262 Goldbach's Conjecture(Eratosthenes筛法)
    POJ 2551 Ones
    POJ 1163 The Triangle
    POJ 3356 AGTC
    POJ 2192 Zipper
    POJ 1080 Human Gene Functions
    POJ 1159 Palindrome(最长公共子序列)
  • 原文地址:https://www.cnblogs.com/czly/p/10847745.html
Copyright © 2011-2022 走看看