0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||
.NET 4.x Сравнить две datagridview (два столбца), выделить несовпадения20.11.2019, 13:17. Показов 2182. Ответов 18
Всем привет, помогите, пожалуйста с кодом.
Мне нужно сравнить две таблицы. Обе datagrid заполняются из двух разных database. 1. таблица - сюда падают значения из таблицы, в которую попадаю значения вводимые в текст бокс. database - manualdt
2. таблица - сюда попадают значения из базы данных, которые фильтруются по ранее созданной кнопке. database - selected truck
Требуется сравнить столбец qty, основываясь на совпадениях в столбце art. Подскажите как это сделать. Не могу найти нигде решений(
0
|
20.11.2019, 13:17 | |
Ответы с готовыми решениями:
18
Разбить один столбец DataGridView на два столбца по символу - разделителю @ Сравнить два столбца с разных листов и вывести несовпадения на отдельный лист Как сравнить два столбца и выделить строки, в которых данные не совпадают Сравнить два текста, разницу выделить |
2089 / 1501 / 389
Регистрация: 26.06.2017
Сообщений: 4,293
|
||||||
20.11.2019, 14:07 | 2 | |||||
1
|
Модератор
4303 / 3378 / 506
Регистрация: 27.01.2014
Сообщений: 6,181
|
|
20.11.2019, 14:22 | 3 |
а потом что, после сравнения? Изложите полностью задачу, чтобы подобрать оптимальный вариант, т.к. по мне, лучще формировать массив Индерксов строк вместо самих строк, чтобы иметь возможность далее вносить в строки изменения.
0
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
20.11.2019, 14:25 [ТС] | 4 |
Как то не помогло( выдает ошибку
Добавлено через 2 минуты мне трребуется сравнить данные двух таблиц. то что есть в системе, и то что внесено по документам. И выявить несоответсвие системных данных и документации. то что вноситься - вносится через textbox в базу данных, которая является datasource для gridview.
0
|
Модератор
4303 / 3378 / 506
Регистрация: 27.01.2014
Сообщений: 6,181
|
|
20.11.2019, 14:26 | 5 |
Aleksandr Belyy, это я понятно. А что потом? После получения данных о разногласии значении? Редактировать или просто показать на экране эту разницу по каждой строке?
0
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
20.11.2019, 14:34 [ТС] | 6 |
мне нужно их просто выделить в обеих таблицах
0
|
Модератор
4303 / 3378 / 506
Регистрация: 27.01.2014
Сообщений: 6,181
|
|
20.11.2019, 15:24 | 7 |
Aleksandr Belyy, ну тогда сразу это и делайте, не создавая отдельный массив строк.
0
|
2089 / 1501 / 389
Регистрация: 26.06.2017
Сообщений: 4,293
|
||||||
20.11.2019, 15:47 | 8 | |||||
Добавлено через 4 минуты можно пойти по другому, сначала все строки обоих гридов закрасить, а затем для совпадающих по Qty цвет фона сделать тем, который установлен по умолчанию. Тогда выделенными останутся только те, которые отличаются по Qty.
1
|
258 / 211 / 52
Регистрация: 01.08.2016
Сообщений: 822
|
|
20.11.2019, 15:52 | 9 |
Uswer, А почему идет подчеркивание перменных gr1и gr2 и пишет что Класс DataGridViewRow не может быть индексирован, так как не имеет свойства по умолчанию
0
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
20.11.2019, 15:56 [ТС] | 10 |
USWER, к сожалению такой вариант получается не совсем корректный. т к количества бывают похожи. а мне требуется сравнить две ячейки нераздельно на совпадение.
то есть где арт одинаковый - там и qty должно совпадать.
0
|
2089 / 1501 / 389
Регистрация: 26.06.2017
Сообщений: 4,293
|
||||||
20.11.2019, 16:02 | 11 | |||||
andrsh, попробуй применить оператор Option Strict Off
Aleksandr Belyy, так что ли?
0
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
20.11.2019, 16:47 [ТС] | 12 |
Uswer, не выходит(
Выдает ошибку: An unhandled exception of type 'System.NullReferenceException' occurred in Check deliveries.exe Additional information: Object reference not set to an instance of an object.
0
|
258 / 211 / 52
Регистрация: 01.08.2016
Сообщений: 822
|
||||||
20.11.2019, 17:26 | 13 | |||||
Aleksandr Belyy, Вот так работает все:
0
|
2089 / 1501 / 389
Регистрация: 26.06.2017
Сообщений: 4,293
|
||||||
20.11.2019, 18:18 | 14 | |||||
Сообщение было отмечено Aleksandr Belyy как решение
Решение
Aleksandr Belyy, andrsh, признаю ошибку. Проверил в среде, вот как будет работать:
1
|
258 / 211 / 52
Регистрация: 01.08.2016
Сообщений: 822
|
||||||
20.11.2019, 18:50 | 15 | |||||
Uswer, Подскажи, почему у меня твой пример опять не работает? Ошибка : " Не удается найти столбец с именем Art". Хотя названия столбцов совпадают. Это уже не только в этом случае. Типа таких вопросов были еще на форуме и результат такой же. По индексам столбцов все нормально получается.
Добавлено через 10 минут Все, понял почему так происходит. Так как колонны добавляются в ДГВ вручную, при создании дгв то надо было добавить такой код:
0
|
2089 / 1501 / 389
Регистрация: 26.06.2017
Сообщений: 4,293
|
|
20.11.2019, 20:32 | 16 |
andrsh, я не приветствую обращение к элементам DataGridView и другим элементам управления используя жёсткую привязку к индексам. Это связано в первую очередь с тем, что структура данных может поменяться и все привязки по индексам придётся исправлять, как минимум проверять. Этого недостатка лишена именованная привязка. Это чисто мой взгляд на написание кода, твой вариант также работоспособен, с маленькой оговоркой о типах сравниваемых данных в IF.
0
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
21.11.2019, 18:20 [ТС] | 17 |
к сожалению опять выдает ошибку... Я думаю, что это изза пустой строки в датагридвью , куда текст через текстбокс падает. Что можно прописать, чтоб он не считывал строку, в которой нет данных?
***** An unhandled exception of type 'System.NullReferenceException' occurred in Check deliveries.exe Additional information: Object reference not set to an instance of an object. Добавлено через 1 час 3 минуты Uswer, спасибо. Я чуть доработал твой вчерашний код - сделал проверку на значения в строке) помогло) а есть мысль, как отсортировать по цвету эти таблицы, после подкрашивания?
0
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
21.11.2019, 18:43 [ТС] | 19 |
0
|
21.11.2019, 18:43 | |
21.11.2019, 18:43 | |
Помогаю со студенческими работами здесь
19
Сравнить построчно два столбца Сравнить два столбца таблиц Сравнить два диапазона, и выделить цветом отсутствующие позиции в противоположных списках Сравнить два столбца в двух книгах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |