问题一:使用dbgrid,绑定了数据集,使用edit框输入信息,当我在edit中修改了记录的信息,保存后,刷新数据集时,dbgrid中的游标希望还是指回原来的记录,即是加亮选中状态,应该怎么做?
问题二:窗体上有许多输入框,希望在某个输入框写完信息后,回车,焦点传到下一个输入框~,怎么做?

解决方案 »

  1.   

    1.直接在刷新前,记录关键字的值,在刷新后,直接数据集定位就可以了。
    如果没有从数据库刷新数据的话,用book就可以了!
    2.edit1.setfocus!
      

  2.   

    假如是在EDIT1。
    procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
     if key=#13 then
      edit2.SetFocus ;
    end;
      

  3.   

    第一个:记住数据集的RecNo,在刷新之后,再还原就可以了第二个:首先将Form1窗体的KeyPreview设置为True,然后定义如下事件
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #13 then
      begin
        Self.Perform(WM_NEXTDLGCTL,0,0);
        Key := #0;
      end;
    end;
      

  4.   

    第一个是EDIT1。
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
     if key=VK_RETURN
    then
      edit2.SetFocus ;
    end;