Member 13672587 Ответов: 1

Vb.net - Показать список только того, что я выбираю в datagrid


у меня есть datagridview, который показывает данные 2 таблиц (с левым отношением соединения).
я пытаюсь добавить в свою форму еще одну сетку данных listbox, чтобы при нажатии на первый datagridview я видел только строки datagridview, соответствующие ему.

например, 2 таблицы содержат togther:
1 Папа "аааа"
2 Папа "бббб"
3 МОМ "cccc"
4 мальчика "ддддд"
5 девушка "эээээ"
(я создал datatale в dataset, содержащий эти столбцы)

первый элемент строки показывает:
папа
мама
мальчик
девочка

1 Папа "аааа"
2 Папа "бббб"
3 МОМ "cccc"
4 мальчика "ддддд"
5 девушка "эээээ"

когда я нажимаю на первую строку,
я увижу 3 строки в Oh datagridview или listbox с:
-ААА"
"бббб"

Что я уже пробовал:

попробуйте в течение часа использовать инструмент привязки в visual studio 2017, но я еще не понял этого.

1 Ответов

Рейтинг:
6

Maciej Los

2 способа:


  1. объект DataTable.Выберите Метод (Строка) (System.Data)[^]
    Dim firstselection As String = "dad"
    Dim filtereddata = dt.Select("familyfunction='" + firstselection + "'")

  2. Перечислимый.Выберите(Метод TResult), Которой Способ (Интерфейс IEnumerable(Метод), Функция(Метод Становится TResult)) (System.Linq)[^]
    Dim firstselection As String = "dad" 
    Dim filteredData = dt.AsEnumerable().Where(Function(x) x.Field(Of String)("familyfunction") = firstselection)


Member 13672587

спасибо, но не могли бы вы быть более конкретным?
куда девать эти строки?
извините, я нуб..
я в основном использую волшебников в vb17

Maciej Los

Допустим, у вас есть:
- 2 вида DataGridViews: dgv1 и dv2.
- 1 кнопка: btn1
Вы должны создать событие btn1_Click (двойной щелчок по кнопке). Затем добавьте один из вышеперечисленных методов в этом случае. Окончательно: dgv1.DataSource = filteredData