1\    我想实现拼音检索,我有3个字段name 姓名,id 编号,py_code 拼音缩写,我通过拼音来找相应的字段,比如这行,张文声,12345,zws,我通过zws找到了那列,但是显示在combobox里面就是zws我想用zws检索,显示的是name怎么做呀
2\怎么用这个控件显示任何我找到列的那行随便一个字段的值呀,

解决方案 »

  1.   

    cxlookupcomboboxpropertieskeyfieldnames (要关联的field)listcolumns  (下拉框中的项目,设定对应caption, 表中的对应field)listfieldindex(从0开始,listcolumns里的字段编号)listsource (这个数据源和databinding里的数据源不能为同一个,否则会报错)以上设定一下,就ok了
      

  2.   

    With dm.ADOQuery7 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select a.name,a.doctcode,b.name deptcode,a.sex,a.py_code from t_doctor a,t_dept b');
        SQL.Add('where b.code =* a.deptcode');
        Open;
        cxlookupcombobox1.Properties.KeyFieldNames := 'deptcode';
        cxlookupcombobox1.Properties.ListFieldNames := 'name;doctcode;deptcode;sex;py_code';
        cxlookupcombobox1.Properties.ListColumns[0].Width := 60 ;
        cxlookupcombobox1.Properties.ListColumns[2].Width := 60 ;
        cxlookupcombobox1.Properties.ListColumns[4].Width := 60 ;
        cxlookupcombobox1.Properties.ListFieldIndex := 4
      end;
    代码我都写好了,列表什么的都没问题,主要就是他上面显示的是拼音码不是姓名,我想显示姓名,拼音码就在查询时候用
      

  3.   

    cxlookupcombobox1.Properties.ListColumns[0].Field.asstring;我用这段话想得到我点的那行的name可是无论点哪行出来的总是第一个NAME值,我怎么才能实现我点哪行就显示哪行的name呀
      

  4.   

    第二个问题已经解决了,有谁能实现我输入的是拼音码返回到combobox上的是name就散分了
      

  5.   

    其实cxlookupcombobox不用这样写关联语句的****************************************databingding datasource 表一 (如datasourceA)
                 datafield (如 deptcode)properties listsource 表二  (如datasourceB)
               listcolumns 下拉框中显示的列(一般为2列,1列关联字段,另1列你要在框中显示 内容,如姓名)(如添加2项,指定caption和fieldname,项一  caption 拼音, fieldname deptcode 项二 caption 姓名, fieldname name)
               keyfieldnames 指定关联的字段 (如 code)
               listfieldindex 在框中相识的字段(如 1,这里为2列,0为拼音,1为姓名)
      

  6.   

    你的要求在这一个控件中无法完成的!!
    我用这样:
    cxlookupcombobox控件用于显示拼音码,
    cxlookupcombobox控件跟着后面放一下TDBText控件用于显示name就行了.