2011-01-22 1 views
1

사용자가 현재 레코드의 마지막 필드에서 Enter 키를 누를 때마다 TcxGrid가 새 레코드를 추가하는 데 어려움을 겪고 있지만 달성에 도움이되는 속성을 찾지 못했습니다. 이.cxGrid 마지막 필드에 새 레코드 입력

나는 다음과 같은 코드 코드가 어떤 이유로 실행되지 않습니다 그러나

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

으로, 그리드 뷰 (TcxGridDBTableView)의 onKeyDown에 이벤트를 설정하려고

...

방법이에에 어떤 생각 마지막 필드 OnEnter 이벤트에 레코드를 추가하면 매우 감사 할 것입니다.

감사합니다.

답변

4

이유는 간단하지 :

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

오른쪽! wth는 내가 생각하고 있었느냐?! altho '나는 위의 속성을 설정하고 어떤 이유로 든 작동하지 않는다고 생각합니다. 왜냐하면 나는 이벤트와 다른 것들로 망가 졌기 때문입니다. – ComputerSaysNo

+0

작동 시키려면 추가해야합니다. View.OptionsBehavior.FocusCellOnCycle = True – kibab

0

이이 문제를 해결하는 방법 따라서, 이러한 유형의 기능을 처리하기 위해 그리드 뷰의 OnEditKeyDown/위 /를 눌러 설정하는 것 같습니다 :

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;