1

ユーザーが現在のレコードの最後のフィールドで Enter キーを押すたびに新しいレコードを追加するように TcxGrid を作成するのに苦労していますが、これを達成するのに役立つプロパティが見つかりませんでした。

以下のコードで、グリッド ビュー(TcxGridDBTableView)の OnKeyDown イベントを設定してみました。

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

ただし、コードは何らかの理由で実行されません...

最後のフィールド OnEnter イベントにレコードを追加する方法についてのアイデアは大歓迎です。

ありがとうございました。

4

2 に答える 2

4

単純ではない理由:

View.OptionsBehavior.FocusCellOnCycle = True,
View.OptionBehavior.FocusFirstCellOnNewRecord = True,
View.OptionBehavior.GotoNextCellOnEnter = True, 
View.OptionData.Appending = True
于 2011-01-22T12:33:07.877 に答える
0

これを解決する方法は、このタイプの機能を処理するために、グリッド ビューの OnEditKeyDown/Up/Press を設定することです。

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;
于 2011-01-22T11:54:33.523 に答える