Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222

Поиск по DataGridView

15.01.2017, 19:15. Показов 5619. Ответов 69
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как реализовать поиск, в TextBox пишем что найти, в ComboBox выбираем столбец для поиска
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2017, 19:15
Ответы с готовыми решениями:

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

поиск по datagridview
Добрый день ув. форумчане , подскажите как можно осуществить поиск по datagridview и после этого выделить запись ? Заранее благодарен.

Поиск в DataGridView
Для поиска использую данный код: Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles...

69
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 17:48  [ТС]
Студворк — интернет-сервис помощи студентам
Найдите ошибку пожалуйста
Вложения
Тип файла: 7z База данных Access.7z (114.4 Кб, 3 просмотров)
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 19:13
Цитата Сообщение от Dzhon Посмотреть сообщение
Найдите ошибку пожалуйста
Как известном в анекдоте :" или трусы наденьте или крестик снимите"(с)
Вы для начала разберитесь , какую базу используете и что является
источником для datagridview.
У меня нет пути , как прописан у вас в строке подключения , по сему просто перенёс
БД в головную диска c:\БД.mdb.
Попробуйте , вы удивитесь происходящему )))
У вас полная каша...данные сохраняются/изменяются в базе c:\БД.mdb ,а выводятся
в грайд из БД перенесённой в проект.
Так что советую сначала упорядочить , а потом уже настраивать .
0
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 19:43  [ТС]
Kulma, базой данных является БД.mdb, БДDataSet.xsd создал чтобы выводить данные в DataGrid и реализовать поиск
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 20:29
Цитата Сообщение от Dzhon Посмотреть сообщение
базой данных является БД.mdb
Вы попробуйте сделать то , что я написал - скопируйте базу в любой
другой каталог , ну например в корневой диска С.
У вас работа идёт с двумя базами - основной и её копией , привязанной к БДDataSet.xsd
В основной происходят изменения , из неё заполняется datatable , а из копии заполняется грайд
Измените путь подключения в модуле , просто измените на любой другой:
у вас перестанут заполняться комбобокс , но грайд заполнится.
При этом при нажатии кнопок Изменить или удалить , изменения произойдут в базе по
изменённому пути и не произойдут в копии.
Суть в том , что де-факто у вас две базы и код работает с двумя базами.
Пока они синхронизированы(при начальной загрузке до любых изменений) - всё худо-бедно работает,
но как только вы изменяете данные , т.е. меняете одну из схем ,синхронизация обваливается и всё перестаёт работать.

По сему приведите всё к одной базе для начала.
Например , можно отказаться от предложения "копировать Бд в проект", когда вы создаёте биндинг.
0
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 20:48  [ТС]
Как БД.mdb сделать основной базой?

Добавлено через 8 минут
Убрал БДDataSet.xsd , и когда включил программу то в DataGrid ничего не выводиться, выводиться начинает если добавить запись
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 20:49
нет.
Поиск идёт по bindingSource , а вот условия поиска(combobox например) привязаны к
другому источнику, и как только в bindingSource происходят изменения
связь между схемой данных и combobox отваливается, равно как и с datatable.
Вы сделайте то , о чём я написал ранее - скопируйте базу в любое другое место и
измените путь в строке подключения -поймёте о чём я пишу.
0
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 20:57  [ТС]
я уже проверил то что вы писали

Добавлено через 3 минуты
Как мне переделать эту строчку для поиска
VB.NET
1
Таблица1BindingSource.Filter = "" & ComboBox1.Text & " Like '%" & TextBox1.Text & "%'"
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 21:00
Цитата Сообщение от Dzhon Посмотреть сообщение
Как БД.mdb сделать основной базой?
Не помню точно , но подозреваю , что нужно удалить все ссылки в проекте на неё
Я бы не стал заморачиваться - удаление биндингов, xsd и ссылок занятие крайне муторное,
просто сделал бы шаблоны из форм(благо их всего две ),создал новый проект и загрузил бы в него
ранее созданные шаблоны.
Поэтому и не люблю всю эту binding-автоматизацию - неприятности вылезают совершенно в неожиданных местах.

Добавлено через 3 минуты
Цитата Сообщение от Dzhon Посмотреть сообщение
Как мне переделать эту строчку для поиска
Переделать во что ?
Правая часть строки - это стандартная фильтрация для условия WHERE любого SELECT запроса,
т.е
SQL
1
SELECT что-то FROM из чего-то WHERE  " & ComboBox1.Text & " LIKE '%" & TextBox1.Text & "%'"
Или вы что-то другое имеете в виду ?
0
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 21:03  [ТС]
заменить Таблица1BindingSource
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 21:14
Ну я вам написал запрос выше.
Подкорректируйте его под себя и поставьте
на выполнение вкупе с обновлением грайда в код обработки TextBox1_KeyUp .
Второй вариант - создаёте bindingSource (на самом деле это мощный инструмент) не в автоматическом режиме,
как это делает студия через ж**у , а вручную и там уже прописываете все соединения, привязки, фильтры и т.д.
0
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 21:24  [ТС]
Правильно?
VB.NET
1
2
3
4
5
6
7
    Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
        SqlCom = New OleDb.OleDbCommand("SELECT * FROM [Таблица1] WHERE  " & ComboBox1.Text & " LIKE '%" & TextBox1.Text & "%'"")", Con)
        Con.Open()
        SqlCom.ExecuteNonQuery()
        Con.Close()
        Call LoadAll()
    End Sub
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 21:47
Похоже на правду.
Ремарка : для вызова процедуры LoadAll() не нужно использовать метод вызова Call- это устаревшее из барсика.
перенесите её (процедуру LoadAll() ) в модуль и вызывайте в любом месте программы
без ссылок на класс-источник.
И ещё совет : если не планируется доступ к глобальным переменным/процедурам/функциям из вне
проекта , то лучше используйте в объявлении не Public , а Friend .
Это то же самое что и Public , только с закрытым доступом наружу, т.е. внутри проекта будет видна
везде , а снаружи (из вне программы) не подберёшься.В данном проекте не критично , но на будущее может
пригодиться.
0
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 21:57  [ТС]
Строка содержит синтаксическую ошибку в выражении запроса 'Фамилия LIKE '%п%'")'
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 22:15
кавычки пересчитайте .
Если также , как постом выше , то там явно лишние присутствуют

Добавлено через 10 минут
Ссылочка вам в помощь.
Советую сохранить, там много разных решений с разными контроллами и задачами- пригодится.
Уже приводилась кем-то ранее , но наверняка незаслуженно позабыта.
0
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 22:16  [ТС]
убрал 2 лишние кавычки, теперь при поиске ничего не происходит
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 22:34
посмотрел код LoadAll() - не правильно чёт мы наверетенили с заполнением грайда.
скиньте проект ещё раз -подумаю, в слепую к вечеру тяжко думается.
0
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
20.01.2017, 22:50  [ТС]
Вот
Вложения
Тип файла: 7z База данных Access.7z (86.1 Кб, 2 просмотров)
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 23:10
Я разобрался вроде
вот код вставьте - работает.. после изменения тоже , после удаления не проверял , но думаю проблем не будет
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
 Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
        DTF.Clear()
        SqlCom = New OleDb.OleDbCommand("SELECT * FROM [Таблица1] WHERE  " & ComboBox1.Text & " LIKE '%" & TextBox1.Text & "%'", Con)
        Con.Open()
        SqlCom.ExecuteNonQuery()
        DAF = New OleDb.OleDbDataAdapter(SqlCom)
        DAF.Fill(DTF) ' Заполняем таблицу результатми
 
        Me.DataGridView1.DataSource = DTF ' Привязываем Грид к источнику данных
        Con.Close()
        ' Call LoadAll()
        'Таблица1BindingSource.Filter = "" & ComboBox1.Text & " Like '%" & TextBox1.Text & "%'"
    End Sub
Не забудьте в модуле прописать
T-SQL
1
2
Public DTF As New Data.DataTable
    Public DAF As OleDb.OleDbDataAdapter
1
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 23:24
Вот ваш проект, вроде работает.
Подчистил вроде от биндингов и прочего мусора.
только путь к базе скорректируйте.
Вложения
Тип файла: zip База данных Access.zip (232.0 Кб, 2 просмотров)
0
2678 / 1851 / 177
Регистрация: 25.07.2015
Сообщений: 2,983
20.01.2017, 23:30
Поставьте предупреждение на удаление -случайное нажатие на кнопку грохнет запись и не заметите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.01.2017, 23:30

Поиск по DataGridView
Имеется DataGridView, заполненный информацией из БД MySQL Заполняю грид следующим образом: public void dataLoad() { ...

Поиск в DataGridView
Ребята, помогите. Надо найти строку в datagridview которая содержит текст из textbox? Гугол постоянно показывает только C#, а времени...

Поиск по DataGridView
Всем привет. Ситуация следующая: есть DataGridView заполненный некоторыми данными. Можно ли сделать такой поиск по GRid-у, что как...

Поиск в DataGridView
Здравствуйте. Необходимо сделать поиск в таблице из текстбокса по кнопке и оставить только найденные результаты + если это возможно,...

Поиск по dataGridView
Здравствуйте. Имеется dataGridView с подключенной бд. В ней есть comboBox где DisplayMember = Name, а ValueMember = ID. Сделал поиск, но он...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru