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

Вниз

DBGridEh проблемы перехода из режима редактирования   Найти похожие ветки 

 
DelphiLexx ©   (2007-05-14 15:39) [0]

В FIBDataSet"e есть поле Percent, в DBGridEh"e по этому полю происходит суммирование и эта сумма отображается в Footer"e. В FIBDataSet.AfterPost"e я использую процедуру CheckPercentSum. Данная функции проверяет сумму процентов: если она > 100, то колонка Footer"a подсвечивается красным, если < 100, то желтым, если = 100, то зеленым.

procedure
 TMyFrom.CheckPercentSum;
var
 Value: Double;
 ColumnEh: TColumnEh;
begin

 ColumnEh := dgrDDB.GetColumnByFieldName("PERCENT");
 if ColumnEh <> nil then
 begin
   Value := 0;
   try
     Value := StrToFloat(dgrDDB.GetFooterValue(0, ColumnEh));
   except
       Exit;
   end;
   if (Value > 100) then
   begin
     ColumnEh.Footer.Color := clMistakeMax;//красный
     ColumnEh.Footer.Font.Color := clBlack;
   end
   else if (Value < 100) then
   begin
     ColumnEh.Footer.Color := clMistakeMin; //желтый
     ColumnEh.Footer.Font.Color := clBlack;
   end
   else if (Value = 100)  then
   begin
     ColumnEh.Footer.Color := clFooterColor; //зеленый
     ColumnEh.Footer.Font.Color := clFooterFont;
   end;
 end;
end;

Проблема возникает в том, что когда я ввел в ячейку грида значение процента и затем нажмал клавишу Enter, ячейка все равно остается в режим редактирования, хотя должна была перевестись в режим не редактирования, и только повторное нажатие Enter спасает данную ситуацию. Как заставить грид сразу по нажатию на enter переходить из режима редактирования в режим не редактирования. DBGridEh.EditorMode := False не помогает


 
ANB ©   (2007-05-14 17:03) [1]

Режим редактирования не у грида, а у набора данных. Помнится, вроде как Post выполняется неявно только при перемещении по НД.
Если так мешает - перехвати в гриде кнопку энтер и делай пост явно (если нужен - для этого достаточно проверить состояние НД).


 
PEAKTOP ©   (2007-05-14 17:56) [2]

я что-то не увидел TDBGridEh.OnGetCellParams


 
DelphiLexx ©   (2007-05-14 18:32) [3]


> Если так мешает - перехвати в гриде кнопку энтер и делай
> пост явно (если нужен - для этого достаточно проверить состояние
> НД).

Да ставил я Post в ОnKeyPress когда нажимается Enter - не помагло


 
DelphiLexx ©   (2007-05-14 18:32) [4]


> я что-то не увидел TDBGridEh.OnGetCellParams

Что-то я не понял причем здесь OnGetCellParams


 
ANB ©   (2007-05-15 15:52) [5]


> Да ставил я Post в ОnKeyPress когда нажимается Enter - не
> помагло

Не верю. Скорее всего ОnKeyPress не отрабатывал.



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
2-1187184080
iXT
2007-08-15 17:21
2007.09.09
...=class(TComponent)


4-1174292317
Zserg
2007-03-19 11:18
2007.09.09
Создание дополнительного COM порта


2-1186748332
Rumin
2007-08-10 16:18
2007.09.09
Miranda


15-1186913958
Kostafey
2007-08-12 14:19
2007.09.09
Что мне не нравится в командной строке?


15-1186709482
Riply
2007-08-10 05:31
2007.09.09
Delphi перестала "прыгать" :)