2016-06-28 5 views
-1

У меня есть DataGrid, который использует DataView в качестве источника. В моем DataView содержится 81 запись. Я хочу отфильтровать только те строки, у которых есть Item_Number, которые больше или равны Элементу, который вводит пользователь. Это то, что у меня есть, но оно не фильтрует мои строки.Как фильтровать строки в DataView

PrintView.RowFilter = "Item_Number >= 'val'"; 
PrintView.RowStateFilter = DataViewRowState.ModifiedCurrent; 

dgPrintTicket.DataSource = PrintView; 
BindDataGrid(); 

PrintView - это мой DataView. Когда я отлаживаю и проверяю строки после фильтрации строк, это показывает, что ничего не изменилось. PrintView остается неизменным.

+0

val между одиночной кавычкой является литеральной строкой, а не значением переменной val (если она существует) – Steve

ответ

1

Проблема заключается в цитировании переменной ('val'), скорее вы должны сделать это следующим образом: val - это локальная переменная, объявленная в коде.

PrintView.RowFilter = "Item_Number >=" + val; 

За правки, val столбец string/VARCHAR типа и поэтому должен быть в кавычках, как

PrintView.RowFilter = "Item_Number >= '" + val + "'"; 

Тогда не знаю, почему вы Паре выполнение >= сравнения в VARCHAR колонке.

+0

Когда я это делаю, я получаю сообщение об ошибке «Не могу найти столбец [F77730]». Это номер элемента, который находится в моей строке «val». – hmakled

+0

@hmakled, см. Редактирование в ответ, если это помогает. – Rahul

+0

Пробовал, что еще не работает. – hmakled

Смежные вопросы