关于devexpress控件中的cxlookupcombobox的使用问题 1\ 我想实现拼音检索,我有3个字段name 姓名,id 编号,py_code 拼音缩写,我通过拼音来找相应的字段,比如这行,张文声,12345,zws,我通过zws找到了那列,但是显示在combobox里面就是zws我想用zws检索,显示的是name怎么做呀2\怎么用这个控件显示任何我找到列的那行随便一个字段的值呀, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 cxlookupcomboboxpropertieskeyfieldnames (要关联的field)listcolumns (下拉框中的项目,设定对应caption, 表中的对应field)listfieldindex(从0开始,listcolumns里的字段编号)listsource (这个数据源和databinding里的数据源不能为同一个,否则会报错)以上设定一下,就ok了 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;代码我都写好了,列表什么的都没问题,主要就是他上面显示的是拼音码不是姓名,我想显示姓名,拼音码就在查询时候用 cxlookupcombobox1.Properties.ListColumns[0].Field.asstring;我用这段话想得到我点的那行的name可是无论点哪行出来的总是第一个NAME值,我怎么才能实现我点哪行就显示哪行的name呀 第二个问题已经解决了,有谁能实现我输入的是拼音码返回到combobox上的是name就散分了 其实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为姓名) 你的要求在这一个控件中无法完成的!!我用这样:cxlookupcombobox控件用于显示拼音码,cxlookupcombobox控件跟着后面放一下TDBText控件用于显示name就行了. dll窗体的调用可以实现实时涮新吗?或者说脱离主调用程序来独立运行 关于DLL问题,DLL传参给EXE 用ClientDataSet来显示主从表的一个奇怪现象,试了好多次不知道怎么解决!!! 请教,怎么让程序只能同时运行一个 给ly_liuyang(Liu Yang) 加分-2 高手请进,delphi恢复sql server数据的问题 oracle 新人报到 湖南长沙 Delphi高手请进,高分求救,只有这么多了,以后再给! 两个winsock的问题? 怎样显示父类窗体上的控件? 如果让控件的事件调用自己编写的过程或者函数?
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;
代码我都写好了,列表什么的都没问题,主要就是他上面显示的是拼音码不是姓名,我想显示姓名,拼音码就在查询时候用
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为姓名)
我用这样:
cxlookupcombobox控件用于显示拼音码,
cxlookupcombobox控件跟着后面放一下TDBText控件用于显示name就行了.