Имя столбца DataTable включает квадратные скобки [имя] - PullRequest
2 голосов
/ 23 мая 2011

У меня проблема с добавлением столбца с именем «[name] version» в DataGrid.Если у меня есть что-то вроде «[имя]» или «версия [имя]», тогда экранирование, Unicode или удвоение всей работы.Проблема возникает только при наличии символов после закрывающей скобки.«[[name] version]» тоже работает, но это не то, что мне нужно.

Я использую WPF и C #, эта строка кода связывает DataTable с DataGrid.

datagrid1.ItemsSource = dataTable1.DefaultView;

Я получаю сообщение об ошибке:

Синтаксическая ошибка в «PropertyPath» Синтаксическая ошибка в «Binding.Path» [имя] '...' версия '",'".

Ответы [ 3 ]

0 голосов
/ 01 июня 2013

Я только что написал вспомогательную функцию, которая изменяет свойство ColumnName для удаления специальных символов, таких как [] и пробелы, и я просто оставляю эти символы в свойстве Caption.Затем я связываю заголовок с заголовком столбца, а имя столбца с привязкой DisplayMemberB.

0 голосов
/ 16 февраля 2016

Все, что вам нужно сделать, это избежать закрывающей квадратной скобки.

См:

   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);
0 голосов
/ 23 мая 2011

SQL Server допускает квадратные скобки или двойные кавычки вокруг имен столбцов ... вы можете использовать вместо них двойные кавычки?

...