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

Вниз

Закрашивание записей в Gridе по условию   Найти похожие ветки 

 
Slow   (2009-05-06 12:40) [0]

Нужно в гриде закрашивать записи, где поле Date_end (формата даты) не заполнено.
вот текст процедуры, но не могу оформить условие IF:
if (Table1.FieldByName("date_end").value="") - не работает

procedure TFormVvod.DBGrid1DrawColumnCell(Sender: TObject;
 const Rect: TRect; DataCol: Integer; Column: TColumn;
 State: TGridDrawState);
begin

 with DBGrid1.Canvas do begin
if (Table1.FieldByName("date_end").value="")
and
not (gdFocused in State) then
begin
Brush.Color :=clred;
Font.Color :=clBlack;
FillRect(Rect);
TextOut(Rect.Left,Rect.Top,Column.Field.Text);
end
else
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

end;


 
Медвежонок Пятачок ©   (2009-05-06 12:46) [1]

Table1 - лишнее
FieldByName - тоже лишнее

Получить имя поля и поле через Column
Если поле то что нам надо и если оно изнулл тогда ....


 
Slow   (2009-05-06 13:07) [2]

>Получить имя поля и поле через Column
а что это принципиально? обычно пишу так, но только не с полями формата даты - и всё работает.
А вот с датой нет.
>Если поле то что нам надо и если оно изнулл тогда ....
if (Table1.FieldByName("date_end").value is null) - не работает. Ошибка: Undeclared identifier "null"


 
Slow   (2009-05-06 13:09) [3]

всё получилось.
if (OsnForma.Boll.FieldByName("date_end").asstring="").
Теперь вот другой вопрос.
как при заполнении этого поля сразу вызвать событие DBGrid1DrawColumnCell,чтобы запись в гриде перезакрасилась?


 
Игорь Шевченко ©   (2009-05-06 13:11) [4]


> if (Table1.FieldByName("date_end").value="")


А какого типа поле date_end ?


 
Slow   (2009-05-06 13:17) [5]

>Игорь Шевченко ©   (06.05.09 13:11) [4]
Field type-DATE.


 
Медвежонок Пятачок ©   (2009-05-06 14:14) [6]

а что это принципиально?

А переименуй TTable и сразу узнаешь.


 
Медвежонок Пятачок ©   (2009-05-06 14:15) [7]

if (Table1.FieldByName("date_end").value is null) - не работает. Ошибка: Undeclared identifier "null"

Все правильно. Ошибка.


 
Медвежонок Пятачок ©   (2009-05-06 14:17) [8]

кроме того, если в гриде 10 строк по 10 полей, то филдбайнейм у тебя вызывается 100 раз.
10 раз для дела, и 90 раз вхолостую



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

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

Наверх




Память: 0.46 MB
Время: 0.006 c
11-1202864756
Jon
2008-02-13 04:05
2009.06.21
Applet and Forms?


6-1203672859
Strate
2008-02-22 12:34
2009.06.21
Отловить открытие (закрытие) соединения


15-1239688470
JohnKorsh
2009-04-14 09:54
2009.06.21
Eternet и TCP/IP адрес.


2-1241072754
Vale
2009-04-30 10:25
2009.06.21
TRadioButton - как сгруппировать?


15-1234784192
Rule
2009-02-16 14:36
2009.06.21
Ура хвастаюсь, свершилось. Началось внедрение нашего ПО в Стрим.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский