Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 109
1

Сравнение ячеек в столбце если значение не совпадает поменять цвет

29.06.2017, 14:00. Показов 2222. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Нужно сравнить 2 столбика из DataGridView и если значения в столбиках различается, в столбике котором меняются значения, покрасить другой цвет. Вот мой код, но работает не корректно:

C#
1
2
3
4
5
 for (int i = 0; i < advancedDataGridView2.RowCount; i++)
            for (int j = advancedDataGridView2.RowCount+1; j > i; j--)
                if (advancedDataGridView2[4, i].Value.ToString().Trim() == advancedDataGridView2[5, j].Value.ToString().Trim())
                    advancedDataGridView2[5, j].Style.BackColor = Color.LemonChiffon;
                else advancedDataGridView2[5, j].Style.BackColor = Color.Red;
В чём моя ошибка ?

Добавлено через 54 секунды
C#
1
for (int j = advancedDataGridView2.RowCount -1; j > i; j--)
указав -1 тоже не работает
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2017, 14:00
Ответы с готовыми решениями:

Поменять цвет ячейки, если значение больше 200
Доброго времени суток! Задание: в последнем столбце таблицы форматировать с выделением...

В выделенном диапазоне ячеек поменять цвет заливки всех ячеек с числами
лабараторная 6 Задание 1. Напишите код программы, которая бы закрывала без сохранения изменений...

При значении ячеек в столбце А присвоить определенное значение ячейкам в столбце B
Столкнулся с тем, что мне нужно при значении ячеек в столбце А присвоить определенное значение...

Сравнение ячеек в столбце таблицы dataGridView
У меня программа в которой из клиента на сервер передаются данные. На сервере они заносятся в...

4
4 / 4 / 3
Регистрация: 15.12.2015
Сообщений: 184
29.06.2017, 15:05 2
Цитата Сообщение от vadca Посмотреть сообщение
Нужно сравнить 2 столбика из DataGridView
advancedDataGridView2[4, i] - неверные индексы
сначала задается строка, а потом столбец
C#
1
advancedDataGridView2[i, 4]
А если сверяются данные одной строки, то достаточно одного цикла с переменной i
0
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 109
30.06.2017, 12:56  [ТС] 3
Решил проблему, вот код если кому нибудь пригодится:

C#
1
2
3
4
5
6
7
for (int i = 0; i < advancedDataGridView2.RowCount; i++)
            {
                advancedDataGridView2[5, i].Style.BackColor = Color.White;
                if (advancedDataGridView2[4, i].Value.ToString().Trim() == advancedDataGridView2[5, i].Value.ToString().Trim())
                    advancedDataGridView2[5, i].Style.BackColor = Color.LemonChiffon;
                else advancedDataGridView2[5, i].Style.BackColor = Color.Red;
            }
0
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
30.06.2017, 14:01 4
Знаете, я бы не делал так, слишком некрасиво. Я бы добавил столбик в таблицу, не выводя ее в грид, и при кадом изменении строки, во время валидации, сравнивал бы значения в таблице, а не ячейках. Далее, по результату вычмсления/сравнения, прописывал бы 0 или 1 в это поле. И в обработчике закрашки грида - смотрел бы на это скрытое поле. Без гемора, и с чистым кодом.
Сегодня сравниваете 1 значение, завтра другое, через месяц 5 значений, и через пол года забудете что нужно было делать, а Ваш приемник, что будет дописывать.... я ему сочуствую.
0
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 109
30.06.2017, 14:05  [ТС] 5
Тут система проще, заполняется недельный план отгрузки, сравнивается план и факт, и чтобы не сделать ошибку, нужно закрасить другим цветом. Ваш вариант тоже очень логичен, спасибо
0
30.06.2017, 14:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2017, 14:05
Помогаю со студенческими работами здесь

Если значение совпадает с значением из списка то ставим 1, если нет то 0
Подскажите формулу. Если значение совпадает с значением из списка то ставим 1, если нет то 0....

Как в datagridview С# отобразить только время если дата совпадает с настоящей и дату если не совпадает
в таблице datagridview C# соединенной с MS SQL базой нужно показать только время (ЧЧ:мм), если...

Как найти в столбце А значение, если удовлетворяет критериям то в столбце Б пишем результат
Здравствуйте! Всем отличных выходных!!! Помогите, если не сложно. Большой Квадрат - ЕСЛИ...

Как в listview поменять цвет текста в 3 столбце?
Как в listview поменять цвет текста в 3 столбце? Если текст - &quot;Готов к выдаче&quot; то текст должен...


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

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