Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить строки в DBGridEh и окрасить строки в нужный цвет?


NewSer2 ©   (2008-10-13 20:08:00) 

В DBGridEh отображаю/редактирую записи ит таблицы, поля Num_1 - Num_3 - строковые, и, в зависимости от числа, введённого в поле "Kolichestvo", должно быть заполнено столько-же полей из Num_1 - Num_3 (произвольно).
Как проверить - заполнено ли нужное количество полей или больше, чем указано в поле "Kolichestvo", и в случае положительного результата окрасить строку в зелёный цвет, а при недостаточном - в красный?
Пока у меня примерное решение - проходить по всем строкам и:
var n: integer;
...
if ADOQuery1.FieldByName('num_1').AsString<>'' then n:=1 else n:=0;
if ADOQuery1.FieldByName('num_2').AsString<>'' then n:=n+1;
if ADOQuery1.FieldByName('num_3').AsString<>'' then n:=n+1;
...
if ADOQuery1.FieldByName('Kolichestvo').AsInteger<=n then

нужно окрасить строку DBGridEh в зелёный цвет
elseокрасить строку DBGridEh в красный цвет


Германн   (2008-10-15 02:12:00) [1]

Прошу не воспринимать моё "в визуальном контроле" как "масло маслянное". :)
Примите и прочь!
:)


Германн   (2008-10-15 02:08:00) [2]

А может ещё стоит прочитать справку по Repaint?
Изменение поля в датасете не приводит в общем случае к изменению визуального отображения сего поля в визуальном контроле.


Германн   (2008-10-15 01:56:00) [3]


> NewSer2   (14.10.08 19:07) [3]
>
> > Германн ©   (14.10.08 01:09) [2]
> Спасибо! Читал! - думал, что а DBGridEh это всё уже предусмотрено
> без доп. кодов!
>

Значит не читал. Или читал, но "скорочтением". "Слева вверх - справа вниз".
:)


KilkennyCat   (2008-10-14 23:48:00) [4]

Внимательно смотрим на onDrawColumCell. Если не помогает - читаем справку. Не помогает опять - читаем ответ [2]. Если после этого возникает снова вопрос [9], то купить диплом и не мучить никого.


Leonid Troyanovsky   (2008-10-14 22:54:00) [5]


> NewSer2   (14.10.08 21:33) [9]

> строк DBGridEh! Вы подскажите: как, без обхода строк через
> Next, задать фон при заполнении DBGridEh? Хоть намёк!

[1] ?
И причем здесь Next?

--
Regards, LVT.


NewSer2   (2008-10-14 21:33:00) [6]

> Ты программист, или кто?
Студент! - поэтому и пишу в разделе для начинающих!
Тем не менее я уже даже не переспрашивал на счёт раскраски строк DBGridEh! Вы подскажите: как, без обхода строк через Next, задать фон при заполнении DBGridEh? Хоть намёк!


Ega23   (2008-10-14 20:24:00) [7]


> Не жадничайте -расскажите!


Ты программист, или кто?


NewSer2   (2008-10-14 20:01:00) [8]


> Ega23 ©   (14.10.08 19:54) [6]

Правильно! - без описания!
"Хирург! Производите вскрытие!" ))
И на счёт:
> > может как-то вычисляемое (виртуальное) поле в запросе
> создавать?
> Можно.
> > Можно как-то автоматизировать разукрашивание строк?
> Можно.

Там подобного нет!
Не жадничайте -расскажите!


Ega23   (2008-10-14 19:54:00) [9]


> А по-подробнее?


Вместе с EhLib примеры поставляются. Где подробнее - я уж и не знаю...


NewSer2   (2008-10-14 19:44:00) [10]


> Ega23 ©   (14.10.08 19:23) [4]

Спасибо! обнадёжил!
А по-подробнее?


Ega23   (2008-10-14 19:23:00) [11]


> может как-то вычисляемое (виртуальное) поле в запросе создавать?


Можно.


> Можно как-то автоматизировать разукрашивание строк?


Можно.


> думал, что а DBGridEh это всё уже предусмотрено без доп. кодов!


Предусмотрено.


NewSer2   (2008-10-14 19:07:00) [12]

> в чем конкретно сложность?
1) это оптимизация кода: может как-то вычисляемое (виртуальное) поле в запросе создавать? Можно как-то автоматизировать разукрашивание строк?

> Германн ©   (14.10.08 01:09) [2]
Спасибо! Читал! - думал, что а DBGridEh это всё уже предусмотрено без доп. кодов!


Германн   (2008-10-14 01:09:00) [13]


> NewSer2   (13.10.08 20:08)  

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168


KilkennyCat   (2008-10-13 22:42:00) [14]

в чем конкретно сложность? В этом компоненте нет события onDrawCell?


Наверх

Титульная страница Поиск, карта сайта Написать письмо