procedure TFormItemList.tvResultEditKeyDown(Sender: TcxCustomGridTableView;
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_Return then
begin
if not Sender.DataController.IsEOF then
begin
Sender.DataController.GotoNext;
Sender.Controller.EditingController.ShowEdit();
end;
Key := 0;
end;
end;
procedure TFormItemList.tvResultKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_Return then
begin
if not (Sender as TcxGridSite).GridView.DataController.IsEOF then
(Sender as TcxGridSite).GridView.DataController.GotoNext;
Key := 0;
end;
end;
//判断当前cxGrid是否有焦点
function IsGridFocused: Boolean;
var
AContainer: TcxCustomEdit;
begin
Result := Screen.ActiveControl is TcxGridSite;
if not Result then
begin
AContainer := nil;
if Screen.ActiveControl is TcxCustomEdit then
begin
AContainer := TcxCustomEdit(Screen.ActiveControl);
Result := True;
end
else
if (Screen.ActiveControl.Parent <> nil) and
(Screen.ActiveControl.Parent is TcxCustomEdit) then
begin
AContainer := TcxCustomEdit(Screen.ActiveControl.Parent);
Result := True;
end;
Result := Result and (AContainer.Parent is TcxGridSite);
end;
end;
procedure TForm1.cxGrid1DBTableView1EditKeyDown(Sender: TcxCustomGridTableView;
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;
Shift: TShiftState);
begin
if Sender.DataController.IsEOF then
Sender.DataController.GotoFirst;
if Key = VK_Return then begin
Key := VK_Down;
end;
end;