Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 30

Поиск строк в DataGridView

24.11.2018, 04:09. Показов 4429. Ответов 10

Студворк — интернет-сервис помощи студентам
Есть DatagridView
DataSource = List<T>

Есть TextBox для поиска.

В интернете есть примеры но там DataSource = DataView. Поэтому я не могу такое использовать.

Как это реализовать?

Заранее спасибо!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2018, 04:09
Ответы с готовыми решениями:

DataGridView поиск выделенных строк
можно ли циклом найти выделенные строки в datagridview Добавлено через 1 час 7 минут Нашел вот такую вот ерунду foreach...

Как сделать фильтр строк (поиск) по DataGridView?
Подскажите, как правильно организовать фильтр (поиск, такой, как на скриншоте) в DataGridView таблице по значениям Турагентство, Страна,...

Нажав на значение (строку) из одного DataGridView поиск в другом DataGridView
Всем привет. Есть 2 DataGridView в одном только дата, а во втором дата и много других столбиков. Нужно при нажатии в 1 DataGridView на дату...

10
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,113
Записей в блоге: 2
24.11.2018, 08:43
T - это какой тип? По какому его свойству Вам надо искать string TextBox.Text ?
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 30
24.11.2018, 14:45  [ТС]
T - тип SectionGeneral

C#
1
2
3
4
5
class SectionGeneral
    {
        public string Name { get; set; }
        public string Value { get; set; }        
    }
Искать надо по обоим свойствам
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,113
Записей в блоге: 2
24.11.2018, 15:19
У Вас создаётся коллекция или напрямую присваивается DataSource ? Если создаётся (допустим, по имени SectionGenerals), то ищете в ней SectionGenerals.FirstOrDefault(item => (item.Name + " " + item.Value).Contains(textBox.Text)). Вернёт найденный элемент, или null если нет подходящего элемента

Добавлено через 56 секунд
Можно применить этот метод и к DataSource, но там надо будет делать приведение типов.
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 30
24.11.2018, 15:55  [ТС]
Извините за тупость. Никак не могу понять.
Как это будет выглядеть в коде?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,113
Записей в блоге: 2
24.11.2018, 15:59
Цитата Сообщение от vositovt Посмотреть сообщение
Как это будет выглядеть в коде?
Я же не знаю как Вы в коде присваиваете DataSource. Покажите как Вы это делаете. А без этого, только общие рекомендации.

Добавлено через 1 минуту
И потом, что Вам надо найти: сам элемент в списке, или его индекс, какое-то свойство по другому свойству? Больше конкретики, если нужен более точный ответ.
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 30
24.11.2018, 16:16  [ТС]
C#
1
List<SectionGeneral> SectionGeneral = new List<SectionGeneral>();
C#
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < x.length; i++)
{
         SectionGeneral Example = new SectionGeneral();
         Example.Name = x.Name[i];
         Example.Value = x.Value[i];
 
         SectionGeneral.Add(Example);
}
 
dataGeneral.DataSource = null;                        
dataGeneral.DataSource = SectionGeneral;
Мне нужно просто вывести в dataGridView те строки, в котором есть текст введенный в поле поиска.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,113
Записей в блоге: 2
24.11.2018, 16:26
Лучший ответ Сообщение было отмечено vositovt как решение

Решение

Цитата Сообщение от vositovt Посмотреть сообщение
Мне нужно просто вывести в dataGridView те строки, в котором есть текст введенный в поле поиска.
C#
1
dataGeneral.DataSource = SectionGeneral.Where(item => (item.Name + " " + item.Value).Contains(textBox.Text));
Но элементы могут быть в режиме ReadOnly. Это зависит от реализации связи с исходной базой и первичной инициализацией элементов в SectionGeneral .

И рекомендация, Вы когда отвечаете приводите в ответе или цитату или ник(есть тег в редакторе сообщений), тогда корреспонденту придёт уведомление, что ему есть сообщение. Иначе он может не знать, что ему писали.
1
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 30
24.11.2018, 17:20  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
dataGeneral.DataSource = SectionGeneral.Where(item => (item.Name + " " + item.Value).Contains(textBox.Text));
Это вообще не работает. Ничего не показывает.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,113
Записей в блоге: 2
24.11.2018, 17:42
Проверьте в дебагере у Вас исходный список SectionGeneral заполнен?

Добавлено через 1 минуту
Если заполнен сделайте промежуточное присвоение для олтладки
C#
1
var target = SectionGeneral.Where(item => (item.Name + " " + item.Value).Contains(textBox.Text)).ToList();
И проверьте что в этой переменной.
1
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 30
24.11.2018, 18:23  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
dataGeneral.DataSource = SectionGeneral.Where(item => (item.Name + " " + item.Value).Contains(textBox.Text));
В конце добавил ToList(). Заработал

Спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2018, 18:23
Помогаю со студенческими работами здесь

Поиск в файлах строк по заданному слову и вывод найденных строк в текстовый файл
Прошу помощи, т.к. в командных файлах разбираюсь слабо. Имеется некое количество txt-файлов в подкаталогах (все именуются aircraft.cfg)....

Ввод массива строк и поиск среди них строк, содержащих заданную подстроку
Необходимо сделать вывод каждой строки, содержащей подстроку, а не только первой using System; using System.Collections.Generic; ...

Поиск строк с датами с использованием регулярного выражения и выделение этих дат из найденных строк
Как можно вывести только дату? Например в внутри файла сертификата (cer/crt) содержат строки: NotBefore: 02.04.2008 14:00 NotAfter:...

Поиск в файле строк, содержащих заданный символ, с пропуском строк с определёнными порядковыми номерами
Имеется файл отчета otchet.txt. Найти строки содержащие значёк # (решетка). Но при поиске пропустить 4 строчку, так как там # есть. Все...

Ввод массива строк и поиск среди них строк, содержащих заданный строковый фрагмент
Необходимо разработать консольное приложение для ввода с клавиатуры массива строк и поиска среди них строк, содержащих заданный строковый...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru