3 / 3 / 0
Регистрация: 17.01.2020
Сообщений: 161
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сравнение данных двух DataGridView20.01.2021, 11:22. Просмотров 3473. Ответов 26
Метки нет Все метки)
(
Доброго всем дня!
Подскажите, пожалуйста, как реализовать следующее: Скажем, есть 2 сетки datagridview со следующими данными: Первый Datagridview:
Второй Datagridview:
При клике на кнопку необходимо сравнить эти 2 списка по столбцу "Уникальный код" (расположение столбца может иметь разный индекс) и вывести в DatagridView3 данные которые совпали по спискам и в DataGridview 4 данные, которые не совпали. Количество записей по сеткам DGV1 и DGV2 может быть разное. (не всегда записей в DGV1 будет больше чем в DGV2) По данному примеру результат будет такой: DGV3: (данные которые совпали:
и в DGV4 (Данные, которые не совпали)
Подскажите, как это можно реализовать? Заранее спасибо Вам за помощь!
0
|
|
20.01.2021, 11:22 | |
Сравнение данных из ячеек DataGridView на двух разных формах
Сравнение данных в двух DataGridView с помощью циклов Сравнение адресов в двух DataGridView |
|
3 / 3 / 0
Регистрация: 17.01.2020
Сообщений: 161
|
|||||||||||
20.01.2021, 14:34 [ТС] | 4 | ||||||||||
ovva, из файлов list1.csv и list2.csv загружаются списки в сетки datagridview.
Добавлено через 16 минут ovva, Вот так загружаю данные с двух файлов в 2 сетки DGV:
0
|
20.01.2021, 14:46 | 5 | |||||
Сравнивать нужно непосредственно данные, например
Здесь сравниваются строки целиком, но несложно пример расширить на сравнение только по первому полю.
2
|
3 / 3 / 0
Регистрация: 17.01.2020
Сообщений: 161
|
|
20.01.2021, 15:08 [ТС] | 7 |
ovva, Подскажите, что то я не понимаю, как это все использовать. Можно расширенный пример?
![]()
0
|
Модератор
![]() 3241 / 2902 / 448
Регистрация: 27.01.2014
Сообщений: 5,392
|
|
20.01.2021, 15:21 | 8 |
можно и обычным перебором в цикле, чтобы было более понятно начинающим.
0
|
20.01.2021, 16:28 | 9 | |||||
![]() Решение
Файлы данных:
Например
1
|
3 / 3 / 0
Регистрация: 17.01.2020
Сообщений: 161
|
|
20.01.2021, 17:21 [ТС] | 10 |
ovva, Это по всей строке, как я понимаю. Работает отлично. Спасибо большое) Подскажите, пожалуйста, как сделать сравнение только по тому столбцу, который я задам (в данном примере - это столбец с индексом 0). А если столбцов будет больше, можно как то сделать что бы не указывать их жестко в коде?
Добавлено через 10 минут ovva, можно ли еще как то добавить первую строчку с файла csv в заголовок? Добавлено через 32 минуты Yury Komar, Не подскажите как?
0
|
20.01.2021, 18:04 | 11 | ||||||||||
![]() Решение
С заголовком полагаю, что вам по силам и самому разобраться. Добавлено через 27 минут Измените в функции Equals
1
|
209 / 187 / 36
Регистрация: 04.02.2015
Сообщений: 1,191
|
|
20.01.2021, 18:35 | 12 |
Я бы все скинул во временную таблицу и там был сверил sql запросом
![]()
1
|
3 / 3 / 0
Регистрация: 17.01.2020
Сообщений: 161
|
|||||||||||
21.01.2021, 09:28 [ТС] | 13 | ||||||||||
ovva,
подскажите, пожалуйста нашел еще вот такой еще код по сравнению 2х файлов csv, но не могу понять, как вывести результат в 2 файла(совпадения и не совпадения)
Заранее спасибо.
0
|
Модератор
![]() 3241 / 2902 / 448
Регистрация: 27.01.2014
Сообщений: 5,392
|
|
21.01.2021, 10:03 | 14 |
UBUNTU, зачем, когда есть способы средствами самого ЯП это сделать?
0
|
3 / 3 / 0
Регистрация: 17.01.2020
Сообщений: 161
|
||||||
21.01.2021, 10:31 [ТС] | 15 | |||||
Orlangur, Yury Komar, Пытаюсь сделать так же - обычным перебором, получается пока вот что:
0
|
209 / 187 / 36
Регистрация: 04.02.2015
Сообщений: 1,191
|
|
21.01.2021, 10:38 | 16 |
Зачем нагружать комп пользователя, когда есть мощность сервера?
![]()
0
|
Модератор
![]() 3241 / 2902 / 448
Регистрация: 27.01.2014
Сообщений: 5,392
|
|
21.01.2021, 13:01 | 18 |
UBUNTU, Я считаю, что, конкретно данную задачу не стоит решать так, как вы предложили. Ведь это сколько лишний действий, таких как: Подключение к базе, создание таблицы(нескольких таблиц), запись ВСЕХ данных в базу, а если их тысячи или десятки тысяч? Затем выборка, данных, и т.п., а если соединение оборвется (если база удалена от пользователя и не на локальном ПК), выигрыша в скорости точно не будет, а мороки больше. Когда как такие задачи легко решаются в операттвной памяти, что гораздо быстрее, чем БД на харде, к тому же, язык программирования имеет в своём арсенале методы/функции/классы, решаюшие такие задачи быстро и легко, без лишнего гемора.
Взгляните на пример OVVA, все просто и наглядно, каждый шаг можно отследить, скорректировать, дополнить и т.п. А если кросс-платформа? То ваш случай будет еще куда более сложным в реализации. ИМХО.
0
|
1333 / 1270 / 295
Регистрация: 03.10.2012
Сообщений: 1,329
|
||||||
21.01.2021, 16:20 | 19 | |||||
1
|
3 / 3 / 0
Регистрация: 17.01.2020
Сообщений: 161
|
||||||
21.01.2021, 16:22 [ТС] | 20 | |||||
MrCrown, спасибо, сейчас попробую.
может вы еще подскажите, как сделать обычным перебором в dgv?
0
|
21.01.2021, 16:22 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Сравнение значений в двух таблицах DataGridView
Перебор данных из БД и их сравнение в двух таблицах Сравнение данных в двух DataGrid и подсветка изменений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |