簡體   English   中英

DataTable列名稱包括方括號[name]

[英]DataTable column name include square brackets [name]

向DataGrid添加名為“ [名稱]版本”的列時遇到問題。 如果我有類似“ [名稱]”或“版本[名稱]”的內容,請轉義,統一編碼或將所有工作加倍。 僅在右方括號后有字符時才出現問題。 “ [[名稱]版本]”也可以,但是不是我所需要的。

我正在使用WPF和C#,這行代碼將DataTable綁定到DataGrid。

datagrid1.ItemsSource = dataTable1.DefaultView;

我收到的錯誤是:

“ PropertyPath'的語法錯誤“ Binding.Path'[name]'...'version'”,'''的語法錯誤。

我剛剛編寫了一個輔助函數,該函數更改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);

SQL Server允許在方括號名稱周圍使用方括號或雙引號...可以使用雙引號代替嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM