试试这个 procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin if dbgrid1.SelectedIndex<dbgrid1.Columns.Count-1 then begin dbgrid1.SelectedIndex:=dbgrid1.SelectedIndex+1; end else begin dbgrid1.DataSource.DataSet.next; dbgrid1.SelectedIndex:=0; end; end; end;
代码如下:procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key =#13 then
begin
...
end;
end;
...
end;
---------------------------------------
如何让焦点定位到下个字段的内容上呢?
比如:我输完了DBGRID中第一行第一列的内容,按下回车键后,怎么定位到第一行第二列的内容上?然后输完第一行第二列的内容后,又定位到第一行第三列的内容,依此类推!
----------------------------------
按下回车键后没反应!
----------------------------------
谢谢了,还是不行·!
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if dbgrid1.SelectedIndex<dbgrid1.Columns.Count-1 then
begin
dbgrid1.SelectedIndex:=dbgrid1.SelectedIndex+1;
end
else
begin
dbgrid1.DataSource.DataSet.next;
dbgrid1.SelectedIndex:=0;
end;
end;
end;
也感谢guolifeng(Studying) 等热心的高手,谢谢!