Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404

Как можно фильтровать datagridview с использованием textbox?

13.11.2021, 05:44. Показов 3855. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
У меня возникла проблема с фильтрацией используя textbox.
Данные в datagridview попадают используя ClosedXML.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
string FileName = @"S:\DVKC_DS\DVKC Search Engine\DVKC Search Engine\DVKC Search Engine\bin\Debug\Datubazes\2022_Gada atskaite\Gada atskaite 2022.xlsx";
                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); 
                Microsoft.Office.Interop.Excel.Workbook xlWB;              
                Microsoft.Office.Interop.Excel.Worksheet xlSht; 
                xlWB = xlApp.Workbooks.Open(FileName);                                           
                xlSht = xlWB.Worksheets["Object"]; 
                int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Microsoft.Office.Interop.Excel.XlDirection.xlUp].Row;  
                var arrData = (object[,])xlSht.Range["A2:L" + iLastRow].Value;                                                                                 
                xlWB.Close(false);
                xlApp.Quit();                             
                dataGridView2.Rows.Clear();
                int RowsCount = arrData.GetUpperBound(0);
                int ColumnsCount = arrData.GetUpperBound(1);
                dataGridView2.RowCount = RowsCount; 
                dataGridView2.ColumnCount = ColumnsCount;                                                        
                int i, j;
                for (i = 1; i <= RowsCount; i++)
                {
                    for (j = 1; j <= ColumnsCount; j++)
                    {
                        dataGridView2.Rows[i - 1].Cells[j - 1].Value = arrData[i, j];
                    }
                }
DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn();
                checkColumn.Name = "X";
                checkColumn.HeaderText = "Atz.";
                checkColumn.Width = 40;
                checkColumn.ReadOnly = false;
                dataGridView2.Columns.Add(checkColumn);
                dataGridView2.Columns["X"].DisplayIndex = 0; //pārvieto kolonnas
                dataGridView2.Columns["X"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[11].HeaderText = "ID";
                dataGridView2.Columns[11].DisplayIndex = 1; //pārvieto kolonnas
                dataGridView2.Columns[11].Width = 40;  // nomaina kolonnas platumu
                dataGridView2.Columns[11].ReadOnly = true;
                dataGridView2.Columns[11].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[0].HeaderText = "Gads";
                dataGridView2.Columns[0].Width = 52;
                dataGridView2.Columns[0].ReadOnly = true;
                dataGridView2.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[1].HeaderText = "Numurs";
                dataGridView2.Columns[1].Width = 65;
                dataGridView2.Columns[1].ReadOnly = true;
                dataGridView2.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[2].HeaderText = "Objekts";
                dataGridView2.Columns[2].Width = 200;
                dataGridView2.Columns[2].ReadOnly = true;
                dataGridView2.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[3].HeaderText = "Datums-Laiks";
                dataGridView2.Columns[3].Width = 95;
                dataGridView2.Columns[3].ReadOnly = true;
                dataGridView2.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[4].HeaderText = "Notikums";
                dataGridView2.Columns[4].Width = 125;
                dataGridView2.Columns[4].ReadOnly = true;
                dataGridView2.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[5].HeaderText = "Rīcība";
                dataGridView2.Columns[5].Width = 390;
                dataGridView2.Columns[5].ReadOnly = true;
                dataGridView2.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[6].HeaderText = "1";
                dataGridView2.Columns[6].Width = 100;
                dataGridView2.Columns[6].ReadOnly = true;
                dataGridView2.Columns[6].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[7].HeaderText = "2";
                dataGridView2.Columns[7].Width = 100;
                dataGridView2.Columns[7].ReadOnly = true;
                dataGridView2.Columns[7].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[8].HeaderText = "3";
                dataGridView2.Columns[8].Width = 100;
                dataGridView2.Columns[8].ReadOnly = true;
                dataGridView2.Columns[8].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[9].HeaderText = "4";
                dataGridView2.Columns[9].Width = 100;
                dataGridView2.Columns[9].ReadOnly = true;
                dataGridView2.Columns[9].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;
                dataGridView2.Columns[10].HeaderText = "5";
                dataGridView2.Columns[10].Width = 100;
                dataGridView2.Columns[10].ReadOnly = true;
                dataGridView2.Columns[10].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;              
                dataGridView2.DefaultCellStyle.SelectionBackColor = System.Drawing.Color.Tomato;
                dataGridView2.DefaultCellStyle.SelectionForeColor = System.Drawing.Color.Black;
                dataGridView2.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
                dataGridView2.DefaultCellStyle.WrapMode = DataGridViewTriState.True;             
            }
В datagridview не использую Bindingsource и DataSource.
Как можно без Bindingsource и DataSource фильтровать данные в datagridview.

попробовал так, не работает.

C#
1
2
3
4
5
6
7
8
9
 private void button9_Click(object sender, EventArgs e)
{
  if (string.IsNullOrEmpty(textBox1.Text))
    {
  var dataTable = (System.Data.DataTable)dataGridView2.DataSource;
  var dataView = dataTable.DefaultView;
  dataView.RowFilter = string.Format("1 like '{0}%'", textBox1.Text);
}
}
Добавлено через 22 минуты
Извиняюсь использую не ClosedXML а Microsoft.Office.Interop.Excel
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.11.2021, 05:44
Ответы с готовыми решениями:

Как объединить поиск по datagridview с использованием трех textbox
Привет всем! Повсюду информация только използуя отделно textbox которые отвечают за свою колонку в datagrid. Но мне надо объединить...

Можно ли как-то сделать взаимодействие datagridview и textbox?
У меня есть пустой textbox и datagridview. В datagridview один столбец, и пять строчек с цифрами от 1 до 5. В datagridview можно...

Как сделать, чтобы данные через TextBox можно было заносить в DataGridView
Как сделать, чтобы данные через TextBox можно было заносить в DataGridView... Приложил скрин экрана, посмотрите пожалуйста!

21
 Аватар для Andrey-MSK
3375 / 2261 / 388
Регистрация: 14.08.2018
Сообщений: 7,669
Записей в блоге: 4
15.12.2021, 08:16
Лучший ответ Сообщение было отмечено Felikss как решение

Решение

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Felikss Посмотреть сообщение
SQL
1
WHERE Numurs14 = '351-0' AND '351-1'
SQL
1
WHERE Numurs14 = '351-0' OR Numurs14 = '351-1';
1
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,736
15.12.2021, 08:22
Цитата Сообщение от Felikss Посмотреть сообщение
WHERE Numurs14 = '351-0' AND '351-1'
Это нормально, по вашему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2021, 08:22

Фильтрация строк DataGridview с использованием TextBox
Всем привет! Есть код, который фильтрует данные в datagridview: Private table1 As DataTable Private Sub Form6_Load(sender As...

Как можно применить DataGridView и ArrayList для использования не в табличной форме, а c помощью label или textBox?
Приведите аналогичный пример (или помогите конкретно см.ссылку) использования datagridview, аналогично как ниже, только не в форме...

Умножение столбца в DataGridView через TextBox с использованием SQL запроса
Пытался сделать так чтоб переменная textbox обращалась к столбцу через запрос, но не работает т. е через textbox он не умножает зарплату. ...

Фильтровать по нескольким полям DataGridView
Помогите сделать фильтрацию DataGridView,почти по всем полям,чтобы когда вносил значения, а после нажатия на кнопку поиск,он выводил нужные...

Фильтровать таблицу в DataGridView по значению из DateTimePicker
Привет! Есть таблица на форме, источник - БД Acсess. В DateTimePicker выбирается дата и вся таблица должна фильтроваться по этому...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru