search on data grid wpf
i already bind all the data into my data grid. Now i want to perform a search.
i figured it out, i can do sql connection to search. but i only want to do search on my datagrid. because my data already bind to my datagrid.
here is the pic
at the top, i have a textbox. how can i do a search / filtering by using the textbox? maybe i could type ‘Bahan Baku’, it will search on ‘Nama Kategori’. or i also can type ‘Sayur’, it will search on ‘Keterangan Kategori’. and what i type, will affect on my datagrid.
any advice? thanks.
EDIT
Here is my code.
this is my class category looks like:
and this is my xaml
I got this error:
Object reference not set to an instance of an object.
Как сделать поиск в wpf







Search in WPF DataGrid (SfDataGrid)
WPF DataGrid control allows you to search the data displayed in the SfDataGrid. You can search the data by using SearchHelper.Search method.

Filtering
You can enable filter based on search by setting SearchHelper.AllowFiltering property to true.

You can search the data with the case-sensitivity by setting SearchHelper.AllowCaseSensitiveSearch property.
Changing Search Highlight Background
In WPF DataGrid (SfDatagrid), you can change the search text highlighting color by setting SearchHelper.SearchBrush property.

Changing foreground for search highlight
In WPF DataGrid (SfDatagrid), you can change the foreground color for search text by setting the SearchHelper.SearchForegroundBrush property.

Navigating cells based on search text
You can navigate to the cells contains the SearchText using SearchHelper.FindNext and SearchHelper.FindPrevious methods.
You can highlight the currently navigated search text using SearchHelper.SearchHighlightBrush property.

You can highlight the foreground color of current navigated search text by using the SearchHelper.SearchForegroundHighlightBrush property.

Move CurrentCell when FindNext and FindPrevious
You can move the current cell along with FindNext and FindPrevious operation using MoveCurrentCell method in selection controller.
Clear Search
You can clear the search by calling the SearchHelper.ClearSearch method.
Search operation on Master-Details View
Master-details view allows you to search the data by using SearchHelper.Search method in the ViewDefinition.DataGrid.

Navigating cells based on search text in DetailsViewDataGrid
You can navigate to the cells contains the SearchText using SearchHelper.FindNext and SearchHelper.FindPrevious methods in ViewDefinition.DataGrid.
You can get the sample from here.
NOTE
It is not possible to Navigate with the two DataGrid at a time.
Search customization
WPF DataGrid (SfDataGrid) process the search operations in SearchHelper class. You can change the default search behaviors by overriding SearchHelper class and set to SfDataGrid.SearchHelper .
Search only selected columns
You can search only selected columns by overriding SearchCell method of SearchHelper . In the SearchCell method, based on MappingName you can skip the columns that you don’t want to search.
In the below code, except Quantity column other columns are gets excluded from search.

Select the record based on the SearchText
You can select the records which contains the search text by using GetSearchedRecord method.

Search with the GridComboBoxColumn
You can search the data in SfDataGrid with all the GridColumns which loads TextBlock as display element. To perform the search operation in the GridComboBoxColumn you need to customize the GridComboBoxColumn . As it loads the ContentControl in display mode.
Name already in use
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
How to search the whole word in WPF DataGrid (SfDataGrid)?
About the sample
This sample illustrates how to search the whole word in WPF DataGrid.
WPF DataGrid (SfDataGrid) provides support to search the data by using SearchHelper. Now, the cell values which contains the search text will be highlighted. For example, if the search text is “Alice” and the DataGrid contains the values “Alice” and “Alice Mutton” in two different cells, the search text Alice in both the cells will be highlighted.
You can change this behavior to highlight the cell only if the cell value is completely same as the search text. That is, only the cell with the text “Alice” will be highlighted. This can be achieved by creating a custom SearchHelper and apply Equals search instead of Contains search.

Requirements to run the demo
Visual Studio 2015 and above versions
About
This example explains about how to search the whole word in WPF DataGrid (SfDataGrid).
WPF — Реализация алгоритмов поиска
Поиск — один из самых важных алгоритмов программы, без которого на сегодняшний день не обходиться не одна информационная система, особенно работающая с большими объёмами данных.
В этой статье я бы хотел рассказать и показать как можно реализовать алгоритмы поиска и фильтрации в приложении написанном на WPF C#.
Что такое WPF?
Windows Presentation Foundation — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения.
Создаём интерфейс для алгоритма поиска и фильтрации.
Самое первое что нужно сделать, это запустить Microsoft Visual Studio. А далее создать проект выбрав пункт «Приложение WPF» — Visual C#;

Следующим шагом настроим минимальные значения высоты и ширины окна, а также зададим значения по умолчанию.
Реализовываем следующий интерфейс используя такие элементы как: Label, ComboBox, TextBox, ListView, Button. Как пользоваться ListView можно прочитать в этой статье.

Далее, присвоим атрибут DisplayMemberBinding для тегов GridViewColumn, дав наименования в соответствии с рисунком ниже.

Для элемента ComboBox зададим атрибут x:Name=»genderFilter», а для TextBox атрибут x:Name=»nameFilter», для ListView – x:Name=»userList». Так же для элемента Button создадим обработчик события на активность Click.

XAML — разметка, полный код:
Пишем алгоритм поиска и фильтрации.
В первую очередь создадим класс объектов, хранящий в себе такие переменные как name, dataOfBirth, age, gender и реализуем функцию, отвечающую за заполнение этих данных:
Сразу же создадим массив этого класса, предполагая что у нас будет несколько значений.
Далее, необходимо создать функцию LoadUser, принимающую в качестве аргумента массив класса User и вызвать её после инициализации компонентов, отправив созданный массив класса user.
Думаю не сложно догадаться что эта функция будет выводить на экран все элементы массива, который мы передадим в эту функцию.
Вызовем эту функцию в после инициализации компонентов формы, чтобы сразу же отобразить имеющиеся данные. Стоп! А какие данные мы собрались отображать? Которых нет?
Добавим эти самые данные.
Перед выполнением функции пропишем добавление данных:
Запустив программу, можно увидеть что все данные благополучно вывелись на экран программы:

Чтож, добавим в элемент ComboBox, два TextBlock’a, задав значения Мужской и Женский на XAML-разметке.

Следующим шагом реализовываем функцию фильтрации по признаку пола: для этого необходимо создать новый массив класса User. А далее в зависимости от выбранного значения произвести поиск в массиве с определённым условием:
Функция работает следующим образом: если у нас выбран мужской пол, то из всего массива класса будут отобраны только те элементы, которые в качестве значения gender принимают «М». Если же пол женский — соответственно будут выбраны только записи с женским полом. Если же не выбрано ни чего, то будут отображены все записи.
После сортировки по половому фильтру необходимо добавить алгоритм кода, позволяющий производить точное совпадение, со строкой находящейся в TextBox:
Contains — этот метод позволяет производить совпадение в записи числа, с каким-то конкретным значением.
Если запустить программу то, можно заметить, что фильтр по половому признаку работает. Точно также как и поиск по совпадениям.