簡體   English   中英

wpf datatable列名稱不能有斜杠/

[英]wpf datatable column name can not have slash /

我是WPF的新手。 我有一個很奇怪的問題,只是要創建一個表,這是我的代碼:

DataTable table = new DataTable();
table.Columns.Add("request/sec", typeof(string));
DataRow newRow = dataTable.NewRow();
newRow["request/sec", "na");

但它只顯示帶有“ request / sec”的列名和一個空行

但是,如果我這樣做:

DataTable table = new DataTable();
table.Columns.Add("test(request/sec)", typeof(string));
DataRow newRow = dataTable.NewRow();
newRow["test(request/sec)", "na");

然后就可以了,它正確顯示了列名,並顯示了值“ na”的行

我不知道為什么會這樣,我知道這聽起來很荒謬。 有人可以幫忙嗎?

注意:我也嘗試過“ //”,“ /”,“ \\ /”,@我無法對列名進行硬編碼,它是由某些邏輯動態生成的,我以上面的代碼為例

將WPF數據網格的ItemsSource綁定到包含諸如“ 01/14/10”之類的列的數據表時,數據不會顯示-MS WPF論壇討論了此問題。

簡而言之,自2010年3月22日起,這被稱為WPF工具包錯誤,指的是票證報告其他一些字符存在類似的問題。

當屬性名稱包含一些保留字符(如)時,創建綁定會出現問題. / 屬性路徑解析器只是不處理它們。 您有兩種選擇:

  1. 不必讓網格自動生成列,而是自己定義它們,對於具有保留字符的列,請綁定到數據行的索引器而不是列名稱:

     <DataGridTextColumn Binding="{Binding Path=[request/sec]}" Header="request/sec" /> 
  2. 如果只因為要控制列標題文本而只關心列名稱,則只需手動聲明列,為列指定一個“合法”名稱,然后像上面一樣設置Header

暫無
暫無

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

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