请问下,
dbedit.text:=fieldvalues['name'];
我这样赋值后,值显示出来了,当我用鼠标在DBEDIT点一下,值就没了.
这是为什么啊?
如果我要修改这个值,那不是不能修改了?
因为我想实现这样的功能:
首先用户在EDIT里按回车,就触发一个事件,从而显示出DBGRID.
当用户在DBGRID上点双击某条记录后,这个记录就显示在DBEDIT里.
在DBGRID的ONDBClick 事件写dbedit.text:=fieldvalues['name'];
这样用户就可以去修改这条记录,或者删除这条记录.

解决方案 »

  1.   

    dbedit的readonly设置成TRUE。不允许修改就好了
      

  2.   

    要么使用普通的TEdit如果使用TDBEdit,就不能这么赋值,要使用其绑定的数据集字段进行赋值。
      

  3.   

    你说的对!但这个问题,我到现在还没弄明白了
    不知道怎么帮定,老是提示错误
    dbedit.datafield:=qry1.fieldbyname('name').asstring;
    是这样吗?
      

  4.   

    f_uermag.dbedtu_lname.Text:=DataModule1.qry3.FieldByName('u_lname').AsString;
     DataModule1.ds3.DataSet.Edit;我这样写,还是一点鼠标就没了
    DBEDIT里的值不见了!