Есть gridView (devexpress) сетка отображения данных из коллекции. В нем есть своя встроенная панель поиска где вводится текст, и по этому тексту данные в gridView фильтруются.
Когда мы пишем одно слово (например: test) программа находит все подходящие данные. Но когда пишу два слова ( например: test Timur) он находит все данные где есть слово test и отдельно все данные где есть слово Timur.
Когда я пишу "test Timur" хочу чтобы программа нашла данные только где есть и test и Timur. Как это сделать?
Чтобы искать по точному вхождению строки нужно вводить ее в поле поиска вместе с кавычками:
"test Timur"
Чтобы автоматически искать по точному вхождению в поддержке DevExpress (GridView - Find panel filter - How to search by full text) рекомендуют обрабатывать событие GridView.ColumnFilterChanged и добавлять кавычки:
private void gridView1_ColumnFilterChanged(object sender, EventArgs e)
{
var filterText = gridView1.FindFilterText;
if (!string.IsNullOrEmpty(filterText) && !filterText.Contains('"'))
gridView1.FindFilterText = "\"" + filterText + "\"";
}
Чтобы изменить логику поиска без добавления кавычек нужно создать свой класс, унаследованный от GridView и переопределить алгоритм преобразования фильтра. Изучите ссылки в поддержке DevExpress:
Сборка персонального компьютера от Artline: умный выбор для современных пользователей