Связывание source.filter между двумя строками VB.net - PullRequest
0 голосов
/ 28 июня 2018

Как я могу отфильтровать источник привязки между двумя строками. Я пробовал следующее:

BindingSource. Filter = "[field]>= '" & value1 & "' and [field] <= '" & value2 & "'" 

Но результат не включает значение2. Я не могу придумать другой способ сделать это.

1 Ответ

0 голосов
/ 28 июня 2018

На самом деле, если присмотреться к вашему коду более внимательно, если то, что вы опубликовали, на самом деле то, что вы используете, то, я думаю, я вижу проблему. У вас есть пробел сразу после первой одинарной кавычки, а другой сразу перед последней. Это:

BindingSource.Filter = "[field]>= ' " & value1 & "' and [field] <= '" & value2 & " ' "

на самом деле должно быть так:

BindingSource.Filter = "[field]>= '" & value1 & "' and [field] <= '" & value2 & "'"

Это прекрасный пример того, почему вы должны использовать String.Format или интерполяцию строк, потому что использование нескольких операторов & делает код менее читабельным и, следовательно, более подверженным ошибкам:

BindingSource.Filter = String.Format("[field] >= '{0}' and [field] <= '{1}'", value1, value2)

или

BindingSource.Filter = $"[field] >= '{value1}' and [field] <= '{value2}'"
...