Главная страница
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-1441934811
dmk
2015-09-11 04:26
2017.05.21
TCheckBox.OnClick


15-1461854802
Германн
2016-04-28 17:46
2017.05.21
Существует ли такая VM, которая знает что такое LPT-порт?


15-1461913150
ВладОшин
2016-04-29 09:59
2017.05.21
Получить уровень вложенности кода.


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


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