定义全局变量 vg_index:integer;procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=39 then self.DBGrid1.Columns.Grid.SelectedField:=self.DBGrid1.Columns.Grid.Fields[self.vg_index]; if key=37 then self.DBGrid1.Columns.Grid.SelectedField:=self.DBGrid1.Columns.Grid.Fields[self.vg_index-1]; end; procedure TForm1.DBGrid1ColEnter(Sender: TObject); begin self.vg_index:=self.DBGrid1.SelectedIndex; end;
定义全局变量
vg_index:integer;procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=39 then
self.DBGrid1.Columns.Grid.SelectedField:=self.DBGrid1.Columns.Grid.Fields[self.vg_index];
if key=37 then
self.DBGrid1.Columns.Grid.SelectedField:=self.DBGrid1.Columns.Grid.Fields[self.vg_index-1];
end;
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
self.vg_index:=self.DBGrid1.SelectedIndex;
end;
改成:self.DBGrid1.Columns.Grid.SelectedField:=self.DBGrid1.Columns.Grid.Fields[self.vg_index+1]; 就ok了