我用若干个dblookupcomcobox和dbedittext及一个dbnavigate控件实现了对一个表的数据添置和删除等,现在用户在添加时要求用dblookupcomcobox选中其中个数据时,其它控件中自动出现和这个控件中选中的数据在同一记录中的对应数据?
用户提了这样的要求,真是急呀!,有没有办法呢????????

解决方案 »

  1.   

    简单的方法:
    1、你的dblookupcomcobox和dbedittext及一个dbnavigate都绑定在一个datasource上
    2、当用户用dblookupcomcobox选中其中个数据,实际上dblookupcomcobox对应的list的记录集指针指向的内容发生了变化,根据dblookupcomcobox的keyfield获取list记录集当前的值。
    3、在1中的datasource关联的ADOQuery用Locate方法定位记录集指针,这样就能查找到对应的记录。Locate方法的使用请参考帮助,很简单的,说明一点,Locate方法的参数KeyFields为2中的keyfield,KeyValues为2中获取的list记录集对应的keyfield值,至于TLocateOptions就选择[loCaseInsensitive]全字匹配吧
      

  2.   

    利用DBLookupComboBox的Text属性在DBLookupComboBox的OnCloseUp事件中写代码