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);
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...