Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
NewSer2   (2008-10-13 20:08) [0]

В 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 в красный цвет


 
KilkennyCat ©   (2008-10-13 22:42) [1]

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


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


> NewSer2   (13.10.08 20:08)  

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


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

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

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


 
Ega23 ©   (2008-10-14 19:23) [4]


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


Можно.


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


Можно.


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


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


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


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

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


 
Ega23 ©   (2008-10-14 19:54) [6]


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


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


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


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

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

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


 
Ega23 ©   (2008-10-14 20:24) [8]


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


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


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

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


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


> NewSer2   (14.10.08 21:33) [9]

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

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

--
Regards, LVT.


 
KilkennyCat ©   (2008-10-14 23:48) [11]

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


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


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

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


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

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


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

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1223551306
buzb
2008-10-09 15:21
2008.11.23
Как обойти ошыбку при вычислениях.


15-1221828560
Inzati
2008-09-19 16:49
2008.11.23
Термопринтеры / Киоски самообслуживания


2-1223642970
Gurd
2008-10-10 16:49
2008.11.23
Присвоить событию компонента функцию


2-1223816195
aslanbek
2008-10-12 16:56
2008.11.23
Как сделать главную форму невидимой.


15-1222164477
Alkid
2008-09-23 14:07
2008.11.23
Недетерминистические алгоритмы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский