|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|||||||||||||||||||||||||||||||
.NET 4.x Сравнить две datagridview (два столбца), выделить несовпадения20.11.2019, 13:17. Показов 2514. Ответов 18
Всем привет, помогите, пожалуйста с кодом.
Мне нужно сравнить две таблицы. Обе datagrid заполняются из двух разных database. 1. таблица - сюда падают значения из таблицы, в которую попадаю значения вводимые в текст бокс. database - manualdt
2. таблица - сюда попадают значения из базы данных, которые фильтруются по ранее созданной кнопке. database - selected truck
Требуется сравнить столбец qty, основываясь на совпадениях в столбце art. Подскажите как это сделать. Не могу найти нигде решений(
0
|
|||||||||||||||||||||||||||||||
| 20.11.2019, 13:17 | |
|
Ответы с готовыми решениями:
18
Сравнить два столбца с разных листов и вывести несовпадения на отдельный лист Как сравнить два столбца и выделить строки, в которых данные не совпадают |
| 20.11.2019, 14:07 | ||||||
1
|
||||||
|
Модератор
4358 / 3428 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 20.11.2019, 14:22 | |
|
а потом что, после сравнения? Изложите полностью задачу, чтобы подобрать оптимальный вариант, т.к. по мне, лучще формировать массив Индерксов строк вместо самих строк, чтобы иметь возможность далее вносить в строки изменения.
0
|
|
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
| 20.11.2019, 14:25 [ТС] | |
|
Как то не помогло( выдает ошибку
Добавлено через 2 минуты мне трребуется сравнить данные двух таблиц. то что есть в системе, и то что внесено по документам. И выявить несоответсвие системных данных и документации. то что вноситься - вносится через textbox в базу данных, которая является datasource для gridview.
0
|
|
|
Модератор
4358 / 3428 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 20.11.2019, 14:26 | |
|
Aleksandr Belyy, это я понятно. А что потом? После получения данных о разногласии значении? Редактировать или просто показать на экране эту разницу по каждой строке?
0
|
|
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
| 20.11.2019, 14:34 [ТС] | |
|
мне нужно их просто выделить в обеих таблицах
0
|
|
|
Модератор
4358 / 3428 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 20.11.2019, 15:24 | |
|
Aleksandr Belyy, ну тогда сразу это и делайте, не создавая отдельный массив строк.
0
|
|
| 20.11.2019, 15:47 | ||||||
Добавлено через 4 минуты можно пойти по другому, сначала все строки обоих гридов закрасить, а затем для совпадающих по Qty цвет фона сделать тем, который установлен по умолчанию. Тогда выделенными останутся только те, которые отличаются по Qty.
1
|
||||||
|
266 / 217 / 54
Регистрация: 01.08.2016
Сообщений: 836
|
|
| 20.11.2019, 15:52 | |
|
Uswer, А почему идет подчеркивание перменных gr1и gr2 и пишет что Класс DataGridViewRow не может быть индексирован, так как не имеет свойства по умолчанию
0
|
|
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
| 20.11.2019, 15:56 [ТС] | |
|
USWER, к сожалению такой вариант получается не совсем корректный. т к количества бывают похожи. а мне требуется сравнить две ячейки нераздельно на совпадение.
то есть где арт одинаковый - там и qty должно совпадать.
0
|
|
| 20.11.2019, 16:02 | ||||||
|
andrsh, попробуй применить оператор Option Strict Off
Aleksandr Belyy, так что ли?
0
|
||||||
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
| 20.11.2019, 16:47 [ТС] | |
|
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
|
|
|
266 / 217 / 54
Регистрация: 01.08.2016
Сообщений: 836
|
||||||
| 20.11.2019, 17:26 | ||||||
|
Aleksandr Belyy, Вот так работает все:
0
|
||||||
| 20.11.2019, 18:18 | ||||||
Сообщение было отмечено Aleksandr Belyy как решение
Решение
Aleksandr Belyy, andrsh, признаю ошибку. Проверил в среде, вот как будет работать:
1
|
||||||
|
266 / 217 / 54
Регистрация: 01.08.2016
Сообщений: 836
|
||||||
| 20.11.2019, 18:50 | ||||||
|
Uswer, Подскажи, почему у меня твой пример опять не работает? Ошибка : " Не удается найти столбец с именем Art". Хотя названия столбцов совпадают. Это уже не только в этом случае. Типа таких вопросов были еще на форуме и результат такой же. По индексам столбцов все нормально получается.
Добавлено через 10 минут Все, понял почему так происходит. Так как колонны добавляются в ДГВ вручную, при создании дгв то надо было добавить такой код:
0
|
||||||
| 20.11.2019, 20:32 | |
|
andrsh, я не приветствую обращение к элементам DataGridView и другим элементам управления используя жёсткую привязку к индексам. Это связано в первую очередь с тем, что структура данных может поменяться и все привязки по индексам придётся исправлять, как минимум проверять. Этого недостатка лишена именованная привязка. Это чисто мой взгляд на написание кода, твой вариант также работоспособен, с маленькой оговоркой о типах сравниваемых данных в IF.
0
|
|
|
0 / 0 / 0
Регистрация: 20.11.2019
Сообщений: 7
|
|
| 21.11.2019, 18:20 [ТС] | |
|
к сожалению опять выдает ошибку... Я думаю, что это изза пустой строки в датагридвью , куда текст через текстбокс падает. Что можно прописать, чтоб он не считывал строку, в которой нет данных?
***** 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 [ТС] | |
|
0
|
|
| 21.11.2019, 18:43 | |
|
Помогаю со студенческими работами здесь
19
Сравнить два столбца таблиц Сравнить два диапазона, и выделить цветом отсутствующие позиции в противоположных списках Сравнить два столбца в двух книгах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|