Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
18 / 18 / 2
Регистрация: 30.09.2016
Сообщений: 109
1

Поиск совпадений в столбцах DataGridView

19.11.2022, 19:16. Показов 585. Ответов 3

Author24 — интернет-сервис помощи студентам
Всем привет!
Ищу способ найти совпадения в столбцах DataGridView.
К примеру, есть некая DataGridView1, в которую данные уже занесены из текстовых файлов.
Количество строк в столбцах DataGridView1 может различаться.
Допустим получили такие данные (см. Рис).
Необходимо найти по столбикам! DataGridView1 совпадающие значения в ячейках, в количестве не менее 3
(допустим переменная количество_совпадений), и эти значения, необходимо внести в ListBox1.
В данном примере, в ListBox1 должны записаться значения: 1, 3, 5.
Не могу подобрать нужный алгоритм.
Миниатюры
Поиск совпадений в столбцах DataGridView  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2022, 19:16
Ответы с готовыми решениями:

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

Поиск совпадений в 2х столбцах и добавление пустой строки
Здравствуйте! Имеется таблица, состоящая из 4х столбцов(A,B,C,D). Данные в столбцах время от...

Поиск в dataGridView по маске в нескольких столбцах
Всем привет!!! Много написано, но не смог найти нужное dataGridView подключил к Access. В столбцах...

Поиск совпадений и действия в зависимости от наличия совпадений
Попытаюсь вкратце описать суть. Приходит список позиций с ценами. Необходимо проверить артикул на...

3
4652 / 3609 / 854
Регистрация: 02.02.2013
Сообщений: 3,488
Записей в блоге: 2
19.11.2022, 21:07 2
Цитата Сообщение от Vitachok Посмотреть сообщение
данные уже занесены из текстовых файлов.
Если файл один то самое простое найти в нем искомые совпадения.
Цитата Сообщение от Vitachok Посмотреть сообщение
Количество строк в столбцах DataGridView1 может различаться.
Это не так.
Пример
VB.NET
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
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'организация данных для теста
        Dim vv(,) As String = {{"1", "6", "2"}, {"2", "5", "7"}, {"3", "1", "3"}, {"4", "3", "1"}, {"5", "", "5"}, {"", "", "4"}}
        DataGridView1.Rows.Add(6)
        DataGridView1.AllowUserToAddRows = False
        For i = 0 To vv.GetLength(0) - 1
            For j = 0 To vv.GetLength(1) - 1
                DataGridView1.Rows(i).Cells(j).Value = vv(i, j)
            Next
        Next
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ListBox1.DataSource = Nothing
        Dim lst As New List(Of String)
        For i = 0 To DataGridView1.Rows.Count - 1
            For j = 0 To DataGridView1.Columns.Count - 1
                lst.Add(DataGridView1.Rows(i).Cells(j).Value)
            Next
        Next
        Dim ss As New List(Of String)
        For Each v As String In lst
            If v.Length > 0 Then
                Dim dd = lst.FindAll(Function(x) x = v)
                If dd.Count > 2 Then
                    ss.Add(v)
                End If
            End If
        Next
        ListBox1.DataSource = ss.Distinct.ToArray
    End Sub
End Class
Миниатюры
Поиск совпадений в столбцах DataGridView  
1
261 / 213 / 53
Регистрация: 01.08.2016
Сообщений: 825
19.11.2022, 22:07 3
Vitachok, Можно и так:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim Lst1 As New List(Of String)
        For i1 = 0 To DGV1.Rows.Count - 1
            Lst1.Add(DGV1.Rows(i1).Cells(0).Value)
            Lst1.Add(DGV1.Rows(i1).Cells(1).Value)
            Lst1.Add(DGV1.Rows(i1).Cells(2).Value)
        Next
        Dim suors1 = Lst1.ToArray
        Dim query = From item In suors1
                    Group By item Into Count()
        For Each result In query
            If result.Count > 2 Then
                LSTB1.Items.Add(result.item)
            End If
        Next
    End Sub
Добавлено через 10 минут
вернее даже так массив создавать не надо.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim Lst1 As New List(Of String)
        For i1 = 0 To DGV1.Rows.Count - 1
            Lst1.Add(DGV1.Rows(i1).Cells(0).Value)
            Lst1.Add(DGV1.Rows(i1).Cells(1).Value)
            Lst1.Add(DGV1.Rows(i1).Cells(2).Value)
        Next
        Dim query = From item In Lst1
                    Group By item Into Count()
        For Each result In query
            If result.Count > 2 Then
                LSTB1.Items.Add(result.item)
            End If
        Next
    End Sub
1
18 / 18 / 2
Регистрация: 30.09.2016
Сообщений: 109
22.11.2022, 17:39  [ТС] 4
Спс, остановился на варианте от andrsh.
0
22.11.2022, 17:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2022, 17:39
Помогаю со студенческими работами здесь

Проверка совпадений в двух столбцах
Sub Poisk() For a = 1 To 5 i = Cells(1, 5) m = Cells(a, 1) If i = m Then Cells(a, 2).Select...

Проверка совпадений в столбце DataGridView
Здравствуйте. В общем есть у меня форма, где я из textbox добавляю значения в datagridview. Как мне...

Подсчет количества совпадений в DataGridView
Приветствую всех! Есть dgv, в него выводится результат запроса. Как организовать поиск по dgv так,...

Datagridview: при выявлении совпадений - объединить
Добрый день. Вопрос такой. Есть грид с двумя колонками. в первом название , во втором количество....

Поиск совпадений
Перевожу рандомные числа в двоичную систему. Помогите определить в каких элементах находится более...

Поиск совпадений
Здравствуйте. Ищу плагин для wordpress (ибо кодить не умею, но если скажете, что и куда писать,...

поиск совпадений
Здравствуйте!Помогите найти совпадения в матрице!Я смогла сделать только поиск по строкам, нужны...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru