在dbgrid中我可以实现
if key=#13 then
begin
    if (ActiveControl is TdxDBGrid) Then //是在 TdxDbgrid 控件内
    begin
      With TdxDBGrid(ActiveControl) Do
      if Selectedindex<(FieldCount-1) then
        Selectedindex:=Selectedindex+1 // 移动到下一字段
    else
        Selectedindex:=0;end;但我不知在dxdbgrid中如何实现,而且是在某一列往下一行的该列跳,同一行的小格中不跳

解决方案 »

  1.   

    小弟也很想知道呀,我发现dxDBGrid是从treelist继承下来的,不能用这段
      

  2.   

    在keypress事件中if key = #13 then
    begin
      grid.row := grid.row + 1;
      grid.col := grid.col + 1;
    end;
      

  3.   

    还是自己实现了:在form的onkeyup事件中
    if key = 13  then
      begin
        if (ActiveControl is TdxDBGrid) then
        begin
          //
          if (TdxDBGrid(Activecontrol).FocusedColumn < TdxDBGrid(Activecontrol).ColumnCount -1) then
          begin
            TdxDBGrid(Activecontrol).FocusedColumn := TdxDBGrid(Activecontrol).FocusedColumn+1;      end
          //
          else if
           not(TdxDBGrid(Activecontrol).DataSource.DataSet.Eof)  then
            begin
              TdxDBGrid(Activecontrol).FocusedColumn := 0;
              TdxDBGrid(Activecontrol).DataSource.DataSet.Next;        end
          else if TdxDBGrid(Activecontrol).DataSource.DataSet.eof then
          begin
            TdxDBGrid(Activecontrol).FocusedColumn := 0;
            TdxDBGrid(Activecontrol).DataSource.DataSet.Append;
          end;
        end;
      end;