cxGrid nouveau record sur le dernier champ Entrer
Question
Je me bats pour faire un TcxGrid pour ajouter un nouveau record à chaque fois que l'utilisateur appuie sur la touche Entrée sur le dernier champ de l'enregistrement en cours, mais je ne trouve pas un bien qui pourrait me aider à y parvenir.
J'ai essayé de placer l'événement OnKeyDown de la vue grille (TcxGridDBTableView), avec le code suivant
if Key = VK_RETURN then
if PaymentViewBetragNetto.Focused then
PaymentView.DataController.AppendRecord;
mais le code n'est pas exécuté pour une raison ...
Toute idée sur la façon d'ajouter des enregistrement sur le dernier champ OnEnter événement serait très apprécié.
Merci.
La solution
Pourquoi ne pas simple:
View.OptionBehavior.FocusFirstCellOnNewRecord = True,
View.OptionBehavior.GotoNextCellOnEnter = True,
View.OptionData.Appending = True
Autres conseils
Il semble que la façon de résoudre ce problème est de définir le OnEditKeyDown / Up / Presse de la vue de la grille afin de gérer ce type de fonctionnalité, donc:
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;