微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DataTable列名称包括方括号[name]

如何解决DataTable列名称包括方括号[name]

| 将名为\“ [名称] version \”的列添加到DataGrid时遇到问题。如果我有类似\“ [name] \”或\“ version [name] \”之类的内容,则转义,统一编码或加倍所有工作。仅在右方括号后有字符时才出现问题。 \“ [[[name] version] \”也可以,但是不是我所需要的。 我正在使用WPF和C#,这行代码将DataTable绑定到DataGrid。
datagrid1.ItemsSource = dataTable1.defaultview;
我收到的错误是:   \“ PropertyPath \'语法中的语法错误   \“ Binding.Path \'[名称] \'中的错误...   \'版\'\”,\'\”。     

解决方法

SQL Server允许在列名的周围使用方括号或双引号...您可以改用双引号吗?     ,我刚刚编写了一个辅助函数,该函数更改ColumnName属性以删除特殊字符,例如[]和空格,而我只是将这些字符留在Caption属性中。因此,然后将Caption绑定到列标题,将ColumnName绑定到DisplayMemberBinding。     ,您需要做的只是逃脱右方括号。 看到:
   var ds = new System.Data.DataSet();
            var dt = ds.Tables.Add();
            dt.Columns.Add(\"[a[b]c\",typeof(decimal));
            dt.Rows.Add(1);
            dt.Rows.Add(2);
            dt.Rows.Add(3);
            dt.Select(\"[[a[b\\\\]c]=3\").Length.ShouldBe(1);
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。