Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.05.21;
Скачать: CL | DM;

Вниз

Что-то туплю с раскрашиванием строк TDBGrid(Eh)   Найти похожие ветки 

 
TheEd   (2015-09-08 15:48) [0]

Уважаемые мастера! Началось с того, что часть строк в DBGridEh решил подкрасить бледным цветом (нередактируемые), потом к ним поля присоединились, получилось примерно так:
procedure TSomeForm.SomeGridGetCellParams(Sender: TObject;
 Column: TColumnEh; AFont: TFont; var Background: TColor;
 State: TGridDrawState);
begin
 inherited;
 if (not quSomeDatasetSomeIntegerField.AsBoolean) // 0 - false, 1 - true флаг редактируемости
    or
   (Column.FieldName = "NotEditingField1")
 then
 begin
   Background := Darker(clWindow, 10); // темнее
   AFont.Color := Lighter(clWindowText, 30); // светлее
 end;
end;

Всё работает, но как вычислить вставленную запись, чтобы её не подсвечивать?


 
TheEd   (2015-09-08 23:56) [1]

По ходу не там вопрос задал. Счас в Базы перенесу...


 
TheEd   (2015-09-09 00:38) [2]

Нет, разобрался сам. Если кому пригодится:
В момент вставки, логическое поле quSomeDatasetSomeIntegerField, которое формируется как селект из хранимой процедуры - null!
Т.о. достаточно это проверить и текущая вставленная строка может быть подсвечена особо:
procedure TSomeForm.SomeGridGetCellParams(Sender: TObject;
 Column: TColumnEh; AFont: TFont; var Background: TColor;
 State: TGridDrawState);
begin
 inherited;
 if quSomeDatasetSomeIntegerField.IsNull then
   Background := clYellow;
 if (not quSomeDatasetSomeIntegerField.AsBoolean) // 0 - false, 1 - true флаг редактируемости
    or
   (Column.FieldName = "NotEditingField1")
 then
 begin
   Background := Darker(clWindow, 10); // темнее
   AFont.Color := Lighter(clWindowText, 30); // светлее
 end;
end;

Само собой, после любых телодвижений с данными надо CloseOpen сделать.



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

Текущий архив: 2017.05.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.004 c
2-1441716490
TheEd
2015-09-08 15:48
2017.05.21
Что-то туплю с раскрашиванием строк TDBGrid(Eh)


15-1462129379
DayGaykin
2016-05-01 22:02
2017.05.21
Безопасность Keepass 2


2-1441934811
dmk
2015-09-11 04:26
2017.05.21
TCheckBox.OnClick


8-1240901861
MathLamer
2009-04-28 10:57
2017.05.21
Быстрое преобразование Фурье 2D


2-1441869771
vegarulez
2015-09-10 10:22
2017.05.21
Как сделать класс или объект.