网格用了picklist.第一次回车,将所选择的值填入到网格中,要再回一次车才能将光标右移一位,能不能只回车一次,即可将选定的值即填到网格中,又能将光标右移一位呢?谢谢。

解决方案 »

  1.   

    可以實現,你在這個字段的onchange事件裡寫,
          if dbgrid1.SelectedField=你的下拉字段  then
            dbgrid1.SelectedField:=下一個字段;用detail_dbg.SelectedIndex 也可以
      

  2.   

    //转个帖子
    procedure Tmainform.DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    if key=13 then { 判断是按执行键}
             begin
               With TDbgrid(ActiveControl) Do
                  if Selectedindex<(FieldCount-1) then
                     Selectedindex:=Selectedindex+1{ 移动到下一字段}
                     else
                       begin
                       Selectedindex:=0;
                       dbgrid1.DataSource.DataSet.fields[0].readonly:=false;
                       tdbgrid(activecontrol).datasource.dataset.append;
                       tdbgrid(activecontrol).datasource.dataset.fields[0].asstring:=inttostr(tdbgrid(activecontrol).datasource.dataset.recordcount+1);
                       tdbgrid(activecontrol).datasource.dataset.post;
                       dbgrid1.DataSource.DataSet.fields[0].readonly:=true;
                       Selectedindex:=Selectedindex+1
                     end;
             end;
    end;
      

  3.   

    谢谢大家,我按merkey2002的方法解决得非常好。给分!,分不在多,有心则行。呵呵,不好意思,太少了。