CXGRID Новая запись в последнем поле Enter Enter

StackOverflow https://stackoverflow.com/questions/4767384

  •  16-10-2019
  •  | 
  •  

Вопрос

Я изо всех сил пытаюсь сделать TCXGRID для добавления новой записи всякий раз, когда пользователь нажимает клавишу Enter в последнем поле текущей записи, однако я не нашел какую -либо свойство, которое может помочь мне достичь этого.

Я попытался установить событие OnkeyDown представления Grid (tcxgriddbtableview), со следующим кодом

if Key = VK_RETURN then
  if PaymentViewBetragNetto.Focused then
    PaymentView.DataController.AppendRecord;

Однако код не выполняется по какой -то причине ...

Любая идея о том, как добавить запись на последнее поле OnEnter Event, была бы высоко оценена.

Спасибо.

Это было полезно?

Решение

Почему бы не просто:

View.OptionBehavior.FocusFirstCellOnNewRecord = True, 
View.OptionBehavior.GotoNextCellOnEnter = True, 
View.OptionData.Appending = True

Другие советы

Похоже, что способ решить это состоит в том, чтобы установить OneDitKeyDown/UP/нажатие сетки, чтобы обрабатывать этот тип функциональности, поэтому:

procedure XXX.PaymentViewEditKeyUp(Sender: TcxCustomGridTableView;
  AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_RETURN then
    if PaymentViewBetragNetto.Focused then begin
      ADataModule.ATable.Append;
      PaymentViewAccount.FocusWithSelection;
    end; // if PaymentViewBetragNetto.Focused then begin
end;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top