2011-01-22 54 views
1

我努力使TcxGrid追加一条新记录,只要用户按下当前记录的最后一个字段上的Enter键,但是我没有找到任何可能帮助我实现的属性这个。cxGrid在最后一个字段上的新记录输入

我尝试设置网格视图(TcxGridDBTableView)的onKeyDown事件,用下面的代码

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

但出于某种原因没有执行的代码...

如何任何想法在最后一个字段OnEnter事件附加记录将不胜感激。

谢谢。

回答

4

为什么不简单:

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

RIGHT !!我在想什么?! “我相信我也设置了上述属性,并且由于某种原因没有工作,可能是因为我把事件和其他东西搞砸了,无论如何谢谢你的答案完美无缺! – ComputerSaysNo 2011-01-22 12:39:51

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;