Как вы используете функцию Convert с RowFilter / CustomFilter, когда имя столбца имеет специальные символы?

1

Я хочу преобразовать все поля столбца в строку для легкой фильтрации, но один из моих столбцов называется item #. Как я могу использовать Convert() таким образом или есть лучшее решение?

dv.CustomFilter = string.Format("Convert('{0}', 'System.String') LIKE '%{1}%'", columnname, text)

Я попытался использовать следующие синтаксисы в скобках "[]", но ни один из них не работает.

dv.CustomFilter = string.Format("Convert('[{0}]', 'System.String') LIKE '%{1}%'", columnname, text)

dv.CustomFilter = string.Format("[Convert('{0}', 'System.String')] LIKE '%{1}%'", columnname, text)
Теги:
wpf
rowfilter

1 ответ

0

Правильно... я предлагаю следующее. [] должен избегать символа #, о котором вы говорили. Кроме того, я помещаю% до и после "текста", чтобы он искал любое имя столбца с этим.

dv.CustomFilter = string.format("CONVERT ([" + columnname + "], System.String) LIKE '%" + text + "%'");

  • 0
    Я думаю, мой вопрос был не так ясен, как я думал. Я пытаюсь применить фильтр к просмотру данных через свойство CustomFilter. Строка фильтра будет исходить из текстового поля. Причина, по которой я использую Convert (), заключается в том, что оператор 'LIKE' не работает при сравнении другого типа со строками. Проблема, с которой я сталкиваюсь, заключается в том, что имя столбца содержит специальный символ. Я надеюсь, что это имеет больше смысла.
  • 0
    Имя столбца уже содержит «#». Мне бы пришлось удалить это, прежде чем я смогу использовать ["+ columname +"], не так ли?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню