Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
 
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 794
#1

Фильтр информации в DataTable - C#

06.04.2015, 16:09. Просмотров 2371. Ответов 22
Метки нет (Все метки)

Добрый вечер!

Нужно сделать фильтрацию строк в DataTable, некое подобие поиска сделать.

Вот так получаю и храню данные из БД:
C#
1
2
3
4
5
6
7
8
9
10
11
12
MySqlConnection connection = new MySqlConnection("строка подключения к БД");
MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT users.surname, users.name, users.midname FROM users;", connection);
DataTable table = new DataTable();
DataGridView dataGrid = new DataGridView();
adapter.Fill(table);
dataGrid.DataSource = table;
 
TextBox surname = new TextBox();
TextBox name = new TextBox();
TextBox midname = new TextBox();
 
Button find = new Button();
table хранит данные из БД (фамилия, имя, отчество)

Теперь нужно, что бы программа убрала все лишнее и показала записи содержащие фамилию, имя или отчество из TextBox.ов по нажатию кнопки find.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2015, 16:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Фильтр информации в DataTable (C#):

.NET 4.x Вывод информации в GridControl из DataTable (DevExpress) - C#
Добрый день. Есть gridcontrol и 3 вида datatable, каждая из которых в отдельности корректно выводится в gridcontrol. Но если попытаться...

Фильтр для вывода информации из БД - C#
Всем добрый день. Суть вопроса: Есть Windows форма на скриншоте. По заданию, пользователь выставляет параметры фильтра отображения...

Как из одного datatable перенести столбец в другой datatable? - C#
Здравствуйте! Кто может подсказать: как из одного datatable перенести столбец в другой datatable?

Datatable в бд - C#
Форумчане хэээлп! Выгружаю я данные в datatable вывожу их в datagridview,подскажите пожалуйста как мне иудалять и обновлять данные? ...

datatable - C#
можно ли заполнить один столбец datatable из разных столбцов разных таблиц (тип данных одинаковый)? Если да то как?

DataTable -> Mssql - C#
Здравствуйте господа ! Проблема с которой сталкнулся может показаться странной но тем не менее она реальна. А именно: Как наиболее...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NewOrdered
158 / 158 / 38
Регистрация: 25.05.2012
Сообщений: 692
Записей в блоге: 1
06.04.2015, 17:16 #2
SuLLeN,
C#
1
table.DefaultView.RowFilter = string.Format("[имя столбца] LIKE '%{0}%'", textBox1.Text);
1
Fene4ka_
91 / 91 / 16
Регистрация: 24.01.2014
Сообщений: 1,215
06.04.2015, 18:33 #3
еще почти также можно фильтровать сам DataGridView (метод Filter). Для очиски фильтра необходимо послать пустую строку - string.Empty
0
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 794
06.04.2015, 19:32  [ТС] #4
А если поле числовое?

Добавлено через 1 минуту
И если полей 5?
0
insite2012
Модератор
Эксперт .NET
4432 / 3381 / 824
Регистрация: 12.10.2013
Сообщений: 9,973
Записей в блоге: 2
06.04.2015, 19:54 #5
Цитата Сообщение от SuLLeN Посмотреть сообщение
А если поле числовое?
Цитата Сообщение от SuLLeN Посмотреть сообщение
И если полей 5?
А почему бы не использовать для поиска LINQ to DataSet?
0
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 794
06.04.2015, 20:49  [ТС] #6
insite2012, пример плиз=)

Добавлено через 1 минуту
Я кстати DataSet не использую, смысла в нем нет, я всего лиш одну таблицу храню.
0
insite2012
Модератор
Эксперт .NET
4432 / 3381 / 824
Регистрация: 12.10.2013
Сообщений: 9,973
Записей в блоге: 2
06.04.2015, 20:54 #7
Цитата Сообщение от SuLLeN Посмотреть сообщение
DataSet не использую
Это просто название. С успехом применимо к любой таблице.
0
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 794
06.04.2015, 20:58  [ТС] #8
insite2012, ну хорошо, пример небольшой можно?
0
insite2012
Модератор
Эксперт .NET
4432 / 3381 / 824
Регистрация: 12.10.2013
Сообщений: 9,973
Записей в блоге: 2
06.04.2015, 21:00 #9
Цитата Сообщение от SuLLeN Посмотреть сообщение
пример небольшой можно?
Можно, сейчас сделаю. Только если совсем небольшой)))
0
insite2012
Модератор
Эксперт .NET
4432 / 3381 / 824
Регистрация: 12.10.2013
Сообщений: 9,973
Записей в блоге: 2
06.04.2015, 21:25 #10
SuLLeN, вот пример. БД типа Access, уже есть в проекте. Фильтрация по двум полям.
1
Вложения
Тип файла: rar LINQtoDataSet_Test.rar (60.8 Кб, 31 просмотров)
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 794
06.04.2015, 21:34  [ТС] #11
insite2012, спасибо! Завтра постараюсь разобраться=)
0
insite2012
Модератор
Эксперт .NET
4432 / 3381 / 824
Регистрация: 12.10.2013
Сообщений: 9,973
Записей в блоге: 2
06.04.2015, 21:35 #12
Цитата Сообщение от SuLLeN Посмотреть сообщение
спасибо!
На здоровье.
0
SuLLeN
23 / 23 / 4
Регистрация: 27.12.2011
Сообщений: 794
07.04.2015, 10:03  [ТС] #13
insite2012, и все же в вашем примере все по другому=)) Вы создаете 2 DataGridView, ищете значение в одном и переносите в другой.
А как найти значения прям в первом DataGridView и в нем же убрать все лишнее?
0
nedel
546 / 547 / 233
Регистрация: 09.04.2014
Сообщений: 1,299
Завершенные тесты: 1
07.04.2015, 10:26 #14
Цитата Сообщение от SuLLeN Посмотреть сообщение
А если поле числовое?
Добавлено через 1 минуту
И если полей 5?
C#
1
2
3
int id = 10;
int age =30;
table.DefaultView.RowFilter = string.Format("customer_id={0} and customer_age={1}",id, age);
Тут можете посмотреть описание выражения для фильтра
1
insite2012
Модератор
Эксперт .NET
4432 / 3381 / 824
Регистрация: 12.10.2013
Сообщений: 9,973
Записей в блоге: 2
07.04.2015, 10:40 #15
Цитата Сообщение от SuLLeN Посмотреть сообщение
Вы создаете 2 DataGridView
И что с того??? Поймите, DataGridView - это всего лишь уровень ОТОБРАЖЕНИЯ, а мы оперируем ТАБЛИЦАМИ!
Получите из грида таблицу, получите на основе ее отфильтрованные данные и измените свойство у грида на другую (уже отфильтрованную) таблицу с данными.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2015, 10:40
Привет! Вот еще темы с ответами:

datatable to excel - C#
у меня в БД SQL таблица с 5-ю столбцами.Нужно экспортировать в excel второй и третий столбец.Как это можно сделать.Здесь примерный код но...

DataTable из DataSet (по C#) - C#
Как получить переменную DataTable из DataSet (по C#)? (для использования DataView)

DataTable и TataGridView - C#
Здравствуйте.Проблема вот в чем у меня есть DataTable и TataGridView я отображаю DataTable в TataGridView следующим образом: DataTable...

Позиция в DataTable - C#
допустим в datatable есть строка с данными "56425".Можно ли осуществить выборку в строке DataTable,то есть могу ли я выбрать допустим цифру...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.04.2015, 10:40
Ответ Создать тему
Опции темы

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