Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 14.01.2023
Сообщений: 45

DataGridViewRow временная подсветка изменяемых значений

23.11.2023, 15:36. Показов 2113. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет.

Выводится N количество строк в таблице, добавилась новая строчка, ок, если в дальнейшем в этой самой строчке изменились данные (например в первом столбце и пятом) нужно сменить цвет изменившегося значения в конкретной "ячейки" (первого и пятого столбца) на 2сек, а затем вернуть в исходную.

Я по началу думал создавать новый таймер для каждой строчки, а потом подумал, может достаточно одного, который будет тикать каждую секунду и перебирать в цикле все строчки, но как тогда узнать в какой строчке и именно в ней вернуть исходный цвет (если например сменится очерёдность строк)

В нужен совет, как лучше поступить, для реализации задачи.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2023, 15:36
Ответы с готовыми решениями:

Амплитудно-временная, частотно-временная характеристика mp3
Всех приветствую, есть необходимость, сделать некоторое подобие «детектора шума». На чистом, или почти cmd, вставки на ps или vbs...

Подсветка неправильных значений в DGV
Возник еще один вопрос по судоку. Как сделать, что бы в Датагриде подсвечивались ячейки с неправильными цифрами, то есть, если одинаковые...

Подсветка значений не влезающих в выпадающий список...
Есть выпадающий список, некоторые значения в котором довольно длинные... Растянуть список на всю длину значений не получится... Можно...

49
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
24.11.2023, 21:53
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от wizard41 Посмотреть сообщение
Из цикла в обработчике button1_Click.
Чего??
по кнопке процесс запускается и все. Вначале элементы просто добавляются в гриду а потом просто обновляются.
Incoming итак в потоке выполняется. К гуи обращаемся только когда надо стиль сменить.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
24.11.2023, 21:58
Worldmaster, после тычка на кнопке Старт если подергать окно... Эффект будет виден сразу.
Цитата Сообщение от Worldmaster Посмотреть сообщение
Incoming итак в потоке выполняется
Он выполняется в потоке GUI, а внутри себя запускает другой поток.
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
24.11.2023, 21:59
Цитата Сообщение от wizard41 Посмотреть сообщение
Он выполняется в потоке GUI
C#
1
2
3
4
5
6
7
8
9
10
11
12
 Process = new Thread(new ThreadStart(() =>
 {
     while (!CancelThread)
     {
         Thread.Sleep(300);
         int changeID = rnd.Next(list.Count);
 
         // меняем значение и отправляем в функцию обновления
         list[changeID].Value = rnd.Next(rnd.Next(1000));
         IncomingData(list[changeID]);
     }
 }));
Почему? В рамках процесса же?
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
24.11.2023, 22:02
Worldmaster,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        private void button1_Click(object sender, EventArgs e)
        {
            List<Item> list = new List<Item>();
            Random rnd = new Random();
            for (int i = 0; i < 30; i++)
            {
                Item newitem = new Item()
                {
                    Id = i,
                    Name = "Эелемент " + i.ToString(),
                    Price = rnd.NextDouble(),
                };
                list.Add(newitem);
 
                IncomingData(newitem); // <----------------------------
            }
Добавлено через 1 минуту
и что там творится с этими потоками... один CLR знает
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
24.11.2023, 22:04
wizard41, та блин. Это выполняется единожды при нажатии кнопки. Создаются элементы и формируется список. 1 раз. И все.
Дальше потоки работают.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
24.11.2023, 22:09
Цитата Сообщение от Worldmaster Посмотреть сообщение
Дальше потоки работают.
Ну я не проводил глубокого анализа конечно. Но тем не менее факты говорят за себя - окно при обновлении грида тормозит.
А раз тормозит - зачем эти потоки? ))

Добавлено через 1 минуту
Цитата Сообщение от Worldmaster Посмотреть сообщение
Это выполняется единожды при нажатии кнопки
Единожды - это как минимум 30 раз ?
C#
1
for (int i = 0; i < 30; i++)
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
24.11.2023, 22:22
Цитата Сообщение от wizard41 Посмотреть сообщение
А раз тормозит - зачем эти потоки? ))
Это синтетика для симмуляции поступающих данных.

Цитата Сообщение от wizard41 Посмотреть сообщение
Единожды - это как минимум 30 раз ?
А как еще наполнить массив то ??
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
24.11.2023, 22:26
Worldmaster, ну окей, я не к тому что бы "докопаться"... Просто открыл проект, просмотрел мельком, запустил и высказал наблюдения. Для начала вполне себе сойдет.
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
24.11.2023, 22:36
Цитата Сообщение от wizard41 Посмотреть сообщение
Просто открыл проект, просмотрел мельком
Да ладно. Критика тоже порой полезна. )))

Вот вариант на WPF. И не тормозит вообще. ))

Только уже остановку процессов не стал делать...

Причем заметьте что поиска тут нет. Просто выбирается нужный объект и обновляется у него параметр и дальше все автоматом идет на обновление визуала. Ну чудо же блин ))
Миниатюры
DataGridViewRow временная подсветка изменяемых значений  
Вложения
Тип файла: 7z WpfApp1.7z (37.0 Кб, 2 просмотров)
0
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
25.11.2023, 00:30
Цитата Сообщение от Worldmaster Посмотреть сообщение
Вот вариант на WPF. И не тормозит вообще. ))
Подозреваю, что на WPF можно вообще не городить никаких тасков, а просто запустить анимацию на изменение значения ячейки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2023, 00:30

Подсветка строк в datagridview в зависимости от значений в представлении в базе
Помогите реализовать вот такую мысль: 1 - есть два представления в базе SQL 2 - в datagridview через arraylist вывожу то одно...

Подсчет значений с конкретным цветом шрифта. Подсветка ячейки с ошибкой
Уважаемые знатоки ! Прошу помощи в решении следующей задачи. Увы, но в макросах не разбираюсь. В листе &quot;Проверяемый...

Datagridviewrow.Vision - не срабатывает
Уважаемые мастера кода! Пожалуйста, укажите на ошибку! не отрабатывает правильно элементарный код и не могу понять почему: в...

Обвод контуром DataGridViewRow
Привет всем! Подскажите, пожалуйста, каким образом сделать так, чтобы вся активная строка моей DataGridView обводилась контуром...

Панели изменяемых размеров
Как создать Панели изменяемых размеров, чтобы за уголки можно было растягивать...


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

Или воспользуйтесь поиском по форуму:
50
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru