在dbgrid的onKeyPress事件中写
DataSet.Next;

解决方案 »

  1.   

    不对呀,人家说的是下一列呀,又不是下一行。
    可以在KeyPress中模拟Tab键,或者直接判断当前是不是最后一列,如果不是,就写DBGrid.ColumnIndex:=DBGrid.ColumnIndex+1
      

  2.   

    procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    var cur:integer;
    begin
    if key=VK_RETURN then begin
      cur:=dbgrid1.SelectedIndex;
      if cur<>dbgrid1.FieldCount-1 then
        dbgrid1.SelectedIndex:=cur+1
      else begin
        datasource1.DataSet.Next;
        dbgrid1.SelectedIndex:=0;
      end;
      end;
    end;
      

  3.   

    不好意思,我这半年都在使用第三方控件,DBGrid有些什么属性都快忘光了,DBGrid没有ColumnIndex属性,应该是SelectedIndex,就像楼上的朋友的代码。
      

  4.   

    我的目的是:让在焦点在dbgrid的外部(如:edit等)回车后在dbgrid的(第一行)某列获得焦点?谢谢!
      

  5.   

    你难道不会在edit的某个事件中调用thedream(梦幻使者) 的事件吗