在选中一条DBGRID的记录时(双击)让它弹出一个新的窗体,这个窗体就是记录了该记录的数据(用EDIT把记录给显示出来),然后我们在这个上面修改这个记录,
这样我修改记录可以方便点,但我在双击DBGRID时SHOW出一个窗体的时候,上面的EDIT显示不出DBGRID上的记录,我的代码如下:望高人指点!
procedure Tbianjikehuziliaofm.FormCreate(Sender: TObject);
begin
    ADODataSet1.Open;
    DBGrid1.ReadOnly:=False;
    Edit1.Text:=ADODataSet1.FieldByName('kh_khdz').Value;
    ………………
end

解决方案 »

  1.   

    procedure Tbianjikehuziliaofm.FormCreate(Sender: TObject);
    begin
        ADODataSet1.Open;
        DBGrid1.ReadOnly:=False; //因为 DBGrid1在刚创建的时候是只读的,不能编辑的。
        Edit1.Text:=ADODataSet1.FieldByName('kh_khdz').Value;
        ………………
    end
      

  2.   

    ADODataSet1.Open;  
    你打开了一个新的数据集,当然不能显示上一个数据集中的现在记录了;应该使新FORM的DBedit的数据源和DBgrid的数据源所引用的数据集相同才行呀!!!
      

  3.   

    为什么不用dbedit呢 直接连接数据集就好了 何必也代码呢
    换个方法吧 简单的
      

  4.   

    我刚刚学习DELPHI,公司很多高手说不要用dbedit,一是因为容易出问题,二 是让我多练习一下基本工(多写点代码),所以我想求助我的这个问题原因在哪里,分会有的
      

  5.   

    zsjzwj(北极熊) 说的是对的,不过我觉得搂住好像不会犯这样一个错误的,如果没犯的话,
    procedure Tbianjikehuziliaofm.FormCreate(Sender: TObject);
    begin
        ADODataSet1.Open;
        DBGrid1.ReadOnly:=False; //因为 DBGrid1在刚创建的时候是只读的,不能编辑的。
        Edit1.Text:=ADODataSet1.FieldByName('kh_khdz').Value;
        ADODataser1.next;
        ………………
    end
      

  6.   

    谁来帮我搞定,就是双击一条DBGRID的记录时让它弹出一个新的窗体,让窗体上的Edit里显示记录里的内容,同时让这个记录可以编辑(DBGrid1原来是只读的),保存(关闭)新窗体后,DBGrid1的ReadOnly又为True。
     ??
     份可以再给的!!
      

  7.   

    双击DBGRID
    edit1.Text:=form.DBGrid1.SelectedField.AsString
      

  8.   

    好象 jjgaodeng的方法还是不行,(edit1.Text:=form.DBGrid1.SelectedField.AsString)
    是在新窗体创建的时候吗(新窗体的ONCreate事件)?
      

  9.   

    双击DBGRID时有错误提示提示“project xftz.exe raised exception class EAcessViolation with message'Acess violation at address 004B2FB9 in modul'xftz.ex'.read of address 00000310'.process stopped. use step or Run to continue”