powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / поиск в DataGrid
12 сообщений из 12, страница 1 из 1
поиск в DataGrid
    #38365780
Алена_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, подскажите, пожалуйста, так как поиском по форуму не нашла нужного мне решения.
Как при наборе значения в TextBox осуществить поиск соответствующей записи в гриде? Нашла вот такое решение:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        VDataGridView.AllowUserToAddRows = False
        Dim a As Boolean = False
        Dim Row As DataGridViewRow
        Dim str_find As String = TextBox1.Text
        For Each Row In VDataGridView.Rows
            If (Row.Cells(0).Value.ToString().ToLower.Contains(str_find.ToLower)) Then
                VDataGridView.CurrentCell = Row.Cells(0)
                VDataGridView.Rows(Row.Index).Selected = True
                a = True
            End If
        Next
        If a = False Then MsgBox("Материал " & str_find & " не найден", 32, "Поиск")
    End Sub


Работает, все ок, но нужно чтоб не просто выделялось найденное значение, а оставались только те что соответствуют критерию, а остальные убирались из таблицы, но не удалялось, а просто пользователь не видел остальные данные.
И еще вопрос - тут поиск происходит по первому столбцу таблицы, а как сделать чтоб по всей таблице можно было искать одним текстбоксом??? и буквенные, и цифровые значения?
Может есть какие то работающие примеры по фильтрации и поиску через форму, буду очень признательна!
Заранее спасибо.
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38366996
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алена, может быть ну его нафиг, искать в DataGridView?

Определитесь со схемой привязки данных к DataGridView
DataTable.DefaultView -----> BindingSource ---> DataGridView
DataTable ---> DataView --> BindingSource ---> DataGridView

Поиск и фильтрацию я бы проводил в данных (DataView или BindingSource)
DataView.RowFilter
BindingSource.Filter
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38367173
Алена_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ermak,спасибо, а можно немножко подробнее? схема привязки - имеется в виду прописать как моя таблица на форме будет взаимодействовать с таблицей БД? я просто перетащила из источника данных необходимую таблицу. соответственно вот код получился:
Код: vbnet
1.
2.
3.
 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
             Me.VTableAdapter.Fill(Me.BASEDataSet.v)
 End Sub


Не правильно? нужно программно все прописывать???? Я пока только пытаюсь разобраться, надеюсь в помощи...а по фильтрам я сейчас читаю.... может смогу разобраться...
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38370058
Алена_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, кто то может подсказать в чем ошибка??? Не работает фильтр((
Код: vbnet
1.
2.
3.
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
        VBindingSource.Filter = "NUM = '" & TextBox3.Text & "'"
    End Sub



Понимаю что ошибдка тут..
& TextBox3.Text &

но как сделать чтоб искало по введенным значениям, не знаю....
Спасибо
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38370172
sews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для цифровых значений
Код: vbnet
1.
2.
3.
4.
  VBindingSource.Filter = "NUM = " &  TextBox3.Text

              VBindingSource.Filter = "NUM = " &  TextBox3.Text.Replace(",",".")
 


Для текста
Код: vbnet
1.
2.
3.
4.
  VBindingSource.Filter = "NUM  Like  '" &  TextBox3.Text & "%'"
               VBindingSource.Filter = "NUM  Like  '%" &  TextBox3.Text & "%'"
               VBindingSource.Filter = "NUM = '" &  TextBox3.Text & "'"
 
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38370201
Алена_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sews, спасибо большое!
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38371055
Алена_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжение фильтрации.. как можно объединить, например 2 текстовых поля. То есть чтобы они были взаимодополняющими. Пример: в одно вводим фамилию (находим всех Ивановых что имеются в базе), а во второе дату и находим Ивановых только за конкретную дату...
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38371083
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38371340
Алена_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот попробовала так сделать, но не работает...
Код: vbnet
1.
2.
3.
    Private Sub DateTime2_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTime2.ValueChanged
        VBindingSource.Filter = "Date_admission >= '" & DateTime1.Text & "' AND Date_admission <= '" & DateTime2.Text & "' AND FIO Like '" & TextBox3.Text & "%'"
    End Sub



если убрать AND FIO Like '" & TextBox3.Text & "%' то все ок работает....
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38371573
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если % на * заменить?
вы по ссылке-то сходите...
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38376983
Алена_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ermak, как же мне все-таки работать с самой БД, а не гридовской таблицей??? может примеры или ссылки? буду очень признательна.
...
Рейтинг: 0 / 0
поиск в DataGrid
    #38377195
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алена_2,

В дата сете создайте новый запрос Fill и GetData к вашей базе
и в конструкторе на нужные поля поставте фильтр

когда будете заполнять свой дата грид то выбирайте новый вами созданный запрос.

Если не понятно написал то дайте знать. Запишу видео и дам ссылку на ютуб.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / поиск в DataGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]