DataGrid控件可以根据DataTable自动生成行和列,但是如果列名包括一些特殊字符:'.','\','/','[',']','(',')'的时候,会出现无法显示出数据或者显示DataRowView的情况

原因是这些字符是Xaml里用来标识绑定path和xpath的符号

例如我们会这么用

<DataGridTextColumn Binding="{Binding Path=a.name}" />

就是绑定到a的name属性上

所以当列名存在'.'的时候,就会把‘.’后面的当成‘.’前面的属性,于是就会显示不出来或者显示错了。

解决办法,DataGrid增加处理函数

<DataGrid AutoGeneratingColumn="<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">DataGrid_AutoGeneratingColumn</span>"/>
private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e){string columnName = e.PropertyName;if (e.Column is DataGridBoundColumn &&(columnName.Contains(".") ||columnName.Contains("\\") ||columnName.Contains("/") ||columnName.Contains("[") ||columnName.Contains("]") ||columnName.Contains("(") ||columnName.Contains(")"))){DataGridBoundColumn dataGridBoundColumn = e.Column as DataGridBoundColumn;dataGridBoundColumn.Binding = new Binding("[" + e.PropertyName + "]");}}

wpf datagrid自动生成列时特殊字符转换相关推荐

  1. 设置DataGrid自动生成列的宽度

    在DataGrid的ItemCreated事件里可以 private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebContro ...

  2. DataGridView 控件中自动生成列

    在上下机主界面的时候,因为上机时用不到下机时间,下机日期,消费金额和余额,而在下机的时候就要将这些信息显示出来.我用的是Datagridview控件,所以,为了不显示多余的信息,就让它在运行过程中可以 ...

  3. Word自动生成目录时,目录里出现正文的一段文字怎么解决

    出现的问题 在Word中引用自动生成目录时,目录中出现了正文中的一段文字 WORD里需要对标题进入格式化(应用样式),可以根据文件的结构来自定义标签的样式,定义好的标题的样式,WORD会自动进行索引排 ...

  4. dataGridView取消自动生成列

    dataGridView1.AutoGenerateColumns   =   false; 如何不让DataGridView自动生成列 如果不想让DataGridView自动生成与数据源对应的列, ...

  5. Petapoco 连接oracle11g 自动生成poco时遇到的问题

    偶尔在园子里看到.net的轻量级ORM框架Petapoco的介绍,觉得很有趣.相关介绍:PetaPoco:适用于.NET的微型ORM 正好最近有个C#+Oracle11g的项目,想趁此机会试试用pet ...

  6. Flowable6.8(6.x版本通用)整合集成达梦8数据库(DM8)详解,解决自动生成表时dmn相关表语法报错问题。

    Flowable集成达梦8数据库 相信大部分人都和我一样,以为只要换个数据源就可以了,起初我只更换了数据源,并开启了自动创建表功能. spring:datasource:url: jdbc:dm:// ...

  7. DataGridView 禁用自动生成列

    DataGridView在使用数据绑定的方式的时候,默认会自动生成数据源的所有属性. DataGridView.AutoGenerateColumns = false; 使用这个属性可以禁用,但是需要 ...

  8. wpf datagrid 数据为null时 显示背景图_[C#.NET 拾遗补漏]09:数据标注与数据校验

    数据标注(Data Annotation)是类或类成员添加上下文信息的一种方式,在 C# 通常用特性(Attribute)类来描述.它的用途主要可以分为下面这三类: 验证 Validation:向数据 ...

  9. 关于WPF Datagrid绑定true false时转换为字符串

    在做一个项目遇到的问题,记录一下 账户登录的权限以及状态的时候,数据库存储的为true false.但是显示的时候,肯定要消失启用或者未启用.在DataSource进行bingding时,进行转换.需 ...

最新文章

  1. 数据库分页存储过程(5)
  2. Http与WWW服务精解
  3. 美国返还中国文物,阿里谣言粉碎机获奖,教育部规范研究生培养,腾讯严打微信跑分活动,推动降低港澳漫游费,这就是今天的大新闻。...
  4. 读书笔记 - 《乌合之众》
  5. html九宫格抽奖视频,原生JS实现九宫格抽奖效果
  6. 容器与devops_容器和DevOps如何改变杜克大学的IT部门
  7. C# - 企业框架下的存储过程输出参数
  8. Linux kmalloc/kfree 源码解读
  9. 关于使用C#编写一个简单的日志类
  10. 湘潭大学计算机网络试卷答案,湘潭大学计算机网络试卷
  11. 医学方面的创业计划书_医学生创业计划书
  12. 计算机病毒学,计算机病毒学.doc
  13. 12306 并不是我们想的那样
  14. 【观察】“专精特新”数智化国产替代,为何首选用友U9cloud?
  15. Halcon contour相关操作
  16. XXE实体注入漏洞详解
  17. matlab 稳定系统,matlab分析系统的稳定性
  18. USC Computer Vision
  19. [SDOI2012]拯救小云公主【bfs+二分答案】
  20. 复杂表格巧拆分(转)

热门文章

  1. 《人再囧途之泰囧》观后感
  2. 叠前时间偏移matlab,地面多分量地震资料纵横波分离方法
  3. ubuntu20.04设置开机自动挂载
  4. tp6修改路由地址的后缀
  5. 【CEGUI】CEGUI入门篇之初始化(一)
  6. 软件质量测试大作业,软件质量管理大作业.ppt
  7. YLMF正版转型猜想
  8. 微信 考勤 php,微信企业号开发之微信考勤Cookies的使用_javascript技巧
  9. 魔乐科技安卓开发教程----李兴华----12音频录制
  10. 计算机ppt制作培训心得,中小学电脑制作活动培训心得体会范文