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

Вниз

Подскажите может кто-то сталкивался Column.Field.As<SomeThing>   Найти похожие ветки 

 
Pos Eleptant (c)   (2008-02-28 16:00) [0]

01: procedure TfrmJournalClaim.DBGridDrawColumnCell(tra-ta-ta)
02: var
03:   holdColor: TColor;
04: begin
05:     if Column.FieldName="UPD_STATUS" then
06:     if ((Column.Field.AsString) = "0") then
07:     begin
08:       dbgrid.canvas.Draw(Rect.Left, Rect.Top, 01: imgFlagEdit.Picture.Bitmap);
09:     end;
10:
11:
12:   holdColor := DBGrid.Canvas.Brush.Color; {сохраняем оригинальный 13: цвет}
14:   {"раскрашиваем" ячейки только для поля EmpNo}
15:   if Column.FieldName = "DATE_TAKE" then
16:     if ((Column.Field.AsDateTime) = Date) then
17:     begin
18:       DBGrid.Canvas.Brush.Color := clRed;
19:       DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
20:       DBGrid.Canvas.Brush.Color := holdColor;
21:     end;
22:     if Column.FieldName = "DATE_TAKE" then
23:     if ((Column.Field.AsDateTime) = Date+1) then
24:     begin
25:       DBGrid.Canvas.Brush.Color := clGreen;
26:       DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
27:       DBGrid.Canvas.Brush.Color := holdColor;
28:     end;

ну вроде правильно:

если закоментить строку 06 все нормально,иначе
Системная ошибка приложения по адресу 005CCCB3 в программе "WnX_CSklad.exe". Параметр: "Read" с адресами 00000000


 
Johnmen ©   (2008-02-28 16:04) [1]

Это значит, что есть колонка в дбгриде, не связанная ни с каким реальным полем набора данных. => Column.Field = nil


 
Pos Eleptant (c)   (2008-02-28 16:05) [2]

ан нет, проверил такая же ерунда, ПОЛЕ есть


 
Pos Eleptant (c)   (2008-02-28 16:07) [3]

все решил
Johnmen ©   (28.02.08 16:04) [1]

спасибо ОГРОМНОЕ!!!


 
Johnmen ©   (2008-02-28 16:07) [4]

Как проверил? Код.


 
Правильный_Вася   (2008-02-28 16:08) [5]


> Rect.Top, 01: imgFlagEdit.Picture.Bitmap

это че за фигня?


 
Ega23 ©   (2008-02-28 16:10) [6]

я бы посоветовал так делать
if UpperCase(Column.FieldName)="UPD_STATUS" then
В DBGridEh без UpperCase сравнение не прокатит.

По сабжу: а что будет, если:

if Column.FieldName="UPD_STATUS" then
if ((DBGrid.DataSource.DataSet.FieldByName("UPD_STATUS").AsString) = "0") then
    begin
      dbgrid.canvas.Draw(Rect.Left, Rect.Top, 01: imgFlagEdit.Picture.Bitmap);
    end;


?


 
Johnmen ©   (2008-02-28 16:15) [7]


> Ega23 ©   (28.02.08 16:10) [6]

Приведение к единому регистру конечно надо.
Но дело в корне в том, что проверять сначала надо на существование поля вообще. Т.к. FieldName то может быть <> "", а Field = nil.


 
Ega23 ©   (2008-02-28 16:18) [8]


> Но дело в корне в том, что проверять сначала надо на существование
> поля вообще. Т.к. FieldName то может быть <> "", а Field
> = nil.


Ну это даже не обсуждается...  :)



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

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

Наверх





Память: 0.46 MB
Время: 0.009 c
15-1203860095
Ega23
2008-02-24 16:34
2008.04.13
Любителям сайтов типа "Одноклассники"


2-1205902866
snake-as
2008-03-19 08:01
2008.04.13
Проблема с канвасом


2-1205477844
FIL-23
2008-03-14 09:57
2008.04.13
как в database запихнуть jpg ?


2-1206014820
Andrewtitoff
2008-03-20 15:07
2008.04.13
Как сделать скриншот экрана


3-1195555156
AlexeyMir
2007-11-20 13:39
2008.04.13
Добавление записи в IBQuery+IBUpdateSQL





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