![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить строки в 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?