[英]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.