原文: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;
}
}

这样就不显示了。

WPF datagrid AutoGenerateColumns隐藏部分列的更多相关文章

  1. easyui datagrid 表格动态隐藏部分列的展示

    1.一套代码中,可能不同的项目情况都在用,但是可能不同的项目要求展示的datagrid列的内容并不一致,所以能够动态的显示部分datagrid列的内容. 即datagrid的中的某一列,这个项目要求显 ...

  2. WPF DataGrid常用属性记录

    WPF DataGrid常用属性记录 组件常用方法: BeginEdit:使DataGrid进入编辑状态. CancelEdit:取消DataGrid的编辑状态. CollapseRowGroup:闭 ...

  3. WPF datagrid 初学

    <Window x:Class="WpfDemo.WinDataGrid" xmlns="http://schemas.microsoft.com/winfx/20 ...

  4. WPF DataGrid显格式

    Guide to WPF DataGrid formatting using bindings Peter Huber SG, 25 Nov 2013 CPOL    4.83 (13 votes) ...

  5. 编写 WPF DataGrid 列模板,实现更好的用户体验

    Julie Lerman 下载代码示例 最近我在为一个客户做一些 Windows Presentation Foundation (WPF) 方面的工作. 虽然我提倡使用第三方工具,但有时也会避免使用 ...

  6. WPF DataGrid 样式设置

    隔行换色,鼠标单击,悬浮样式都有,其具体效果如图 1 所示. 图 1 WPF DataGrid 样式设置效果图 其中: 界面设计代码下所示 ? + 查看代码 1 2 3 4 5 6 7 8 9 10 ...

  7. WPF DataGrid 列宽填充表格方法

    WPF中使DataGrid 列宽填充表格方法,设置ColumnWidth属性为ColumnWidth="*"即可. 源码: <DataGrid AutoGenerateCol ...

  8. C# WPF DataGrid 分组(Group)

    原文:C# WPF DataGrid 分组(Group) 效果如图,每个列的名字可以自定义.我随便用了”File”和”Attachment Name”.  在Window的Resources里面设置S ...

  9. WPF DataGrid 样式分享

    原文:WPF DataGrid 样式分享 隔行换色,鼠标单击,悬浮样式都有 先看效果: 代码: <DataGrid AutoGenerateColumns="False" N ...

随机推荐

  1. 学习MFC创建界面

    原始学习文章地址: http://blog.csdn.net/chenyusiyuan/article/details/4744097 一.创建MFC 首先创建一个MFC对话框应用程序(Dialog- ...

  2. centos7下的nfs配置

    NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. nfs为什么需要RPC?因为NFS支持的功能很多,不同功能会 ...

  3. 第一章 Linux是什么

    Linux是核心与系统调用接口两层中间的操作系统 不同硬件的功能函数并不相同,IBM的Power CPU与Inter的x86架构不同,所以同一套操作系统是不能在不同的硬件平台上面运行的.也就是说,每种 ...

  4. python-selenium -- 弹出框处理

    弹出框有两种:页面弹出框(可定位元素能操作).Windows弹出框(不能直接定位) 一.页面弹出框 等待弹出框出现之后,定位弹出框,操作其中元素 如: driver = webdriver.Chrom ...

  5. 55-Ubuntu-软件安装

    1.通过apt安装/卸载软件 apt是advanced packaging tool, 是Linux下的一款安装包管理工具. 可以在终端中方便的安装/卸载/更新软件包. (1)安装软件 sudo ap ...

  6. 运行Hama实例PageRank

  7. cross compile 交叉编译 ffmpeg

    ffmpeg 支持各种压缩格式的视频解码库,经常出现在各种播放器中,交叉编译也是一项麻烦的事情. 1. 下载ffmpeg 源码包   http://ffmpeg.org/releases/ffmpeg ...

  8. vue $emit 子传父

    我们使用子组件传递值给父组件使用 $emit 代码 <!DOCTYPE html> <html lang="en"> <head> <me ...

  9. html中没有不能随意嵌套的标签

    在HTML里有几个元素是比较特别的:<ul>.<ol>.<dl>.<table>,它们的子一层必须是指定元素,<ul>.<ol> ...

  10. Linux基本使用命令

    一.常用命令归纳分类 课外网站  http://man.linuxde.net/               http://www.jb51.net/linux/               http ...