Форум: "Базы";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c