Синтаксис DataTable Rowfilter для фильтрации строк на основе диапазона - PullRequest
0 голосов
/ 25 сентября 2018

Поэтому я пытаюсь отфильтровать строки, в которых столбец имеет имя gpa.

Очевидно, я хочу отфильтровать его по диапазону.Но похоже, что синтаксис не включает BETWEEN.Какое альтернативное решение?

Мой код:

t.DefaultView.RowFilter = "[gpa] BETWEEN " + filterGPAFrom.Text + " AND " + filterGPATo.Text;

ОБНОВЛЕНИЕ:

Я пробовал новый код: t.DefaultView.RowFilter = "[gpa] > " + Convert.ToDouble(filterGPAFrom.Text) + " AND [gpa] <" + Convert.ToDouble(filterGPATo.Text);

Это работает просто отлично, но, похоже, возникают проблемы с фильтрацией результата, когда ввод представляет собой целое число, но в double форме, такой как 3.0 или 2.0.

Все данные в столбце gpadouble.

Будет выдано сообщение об ошибке, подобное этому: System.Data.EvaluateException: Cannot perform '>' operation on System.String and System.Int32.

1 Ответ

0 голосов
/ 25 сентября 2018

Попробуйте больше чем и меньше чем.Итак, [gpa] > filterGPAFrom.Text AND [gpa] < filterGPATo.Text.Возможно, вам придется заменить символ «больше» и «меньше» реальными словами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...