Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/23: Рейтинг темы: голосов - 23, средняя оценка - 4.61
yo_krevedko
5 / 5 / 4
Регистрация: 16.11.2013
Сообщений: 134
#1

Как сделать фильтр строк (поиск) по DataGridView?

26.03.2014, 23:21. Просмотров 4179. Ответов 4
Метки нет (Все метки)

Подскажите, как правильно организовать фильтр (поиск, такой, как на скриншоте) в DataGridView таблице по значениям Турагентство, Страна, Город, диапазон цен. Нужно, чтобы при отсутствии текста в каком либо из полей, это поле просто не учитывалось в фильтрации, а не выдавало ошибку. Вот для поиска по всем полям - довольно просто. Но так, чтобы можно было не учитывать какие-то из них, что-то вообще не получается. Натолкните на правильную идею, или скажите, как правильно пробегать по таблице, делая проверки.
0
Миниатюры
Как сделать фильтр строк (поиск) по DataGridView?  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2014, 23:21
Ответы с готовыми решениями:

BindingSource. dataGridView. Как сделать независимый фильтр для двух dataGridView?
Из Access данные импортируются в dataGridView В качестве источника данных...

Как сделать фильтр по маске в DataGridView, если данные берутся из txt файла
Задача в том, чтобы реализовать динамический поиск по datagridview. Если...

Фильтр строк в dataGridView
Доброго времени суток :) Как правильно отфильтровать dataGridView и удалить...

Как сделать счёт строк слева в DataGridView
Как сделать счёт строк слева в DataGrid? Предполагаю что где-то в свойствах, но...

Организовать динамический фильтр строк в DataGridView при вводе символов в TextBox
Как организовать динамический фильтр (то-есть, ввели символ-отобразились строки...

4
Spawn
971 / 869 / 353
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
27.03.2014, 07:53 #2
Поиск и фильтр всё-таки немного разные вещи, ну да ладно. В случае с поиском мы просто Selected будем менять, в случае с фильтров - Visible.

Набросал примерчик, смысл думаю будет понятен:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
            // Проходим циклом по всем строкам
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                // Если в текстовом поле, отвечающем за поиск в первом столбце, что-то есть
                if (textBox1.TextLength > 0)
                {
                    // Если текст совпадает
                    if (row.Cells[0].Value.ToString() == textBox1.Text)
                    {
                        // Выделяем строку
                        row.Selected = true;
                        // Завершаем поиск
                        break;
                    }
                }
                // Второе текстовое поле для поиска по другому столбцу
                // ...
            }
3
yo_krevedko
5 / 5 / 4
Регистрация: 16.11.2013
Сообщений: 134
29.03.2014, 20:48  [ТС] #3
TheSpawn, по логике, должно работать правильно (если убрать break), но вот почему-то поиск работает корректно либо когда все поля писка заполнены, либо когда только одно. В других случаях работает некорректно. Не знаете, что тут может быть?
0
TheRuEoniSS
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 19
20.03.2015, 15:43 #4
Спасибо, Spawn!
Код работает на отлично!
0
aid13_92
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 13
12.01.2016, 11:01 #5
А на какое событие и какого компонента прописывать?
0
12.01.2016, 11:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2016, 11:01

DataGridView - Как сделать вставку и удаление группы выделенных строк
private void dataGridView_CellDoubleClick(object sender,...

DataGridView как сделать быстрее работу программы (скрытие ненужных строк)
Событие должно скрывать строчки в таблице clientDataGridView, код работает...

Как сделать чтобы количество столбцов и строк DataGridView задавалась через NumericUpDown?
Как сделать чтобы количество столбцов и строк DataGridView задавалась через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru