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


8-1241899470
maxistent
2009-05-10 00:04
2017.05.21
Сжатие потокового аудио...


2-1441974701
Иван Д.
2015-09-11 15:31
2017.05.21
Еще один вопрос про Post-запрос


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


8-1240992981
Diha
2009-04-29 12:16
2017.05.21
Воспройзведение видео с помощью Дельфи