ehlib组件包当中TDBLookupComboboxEh的小结

原创 2004年10月24日 20:51:00
TDBLookupComboboxEh和TDBGridEh一样强大无比,可以做出Combobox下拉出Grid的效果。
下面是一些重要属性的小结(可怜费了我半天功夫,文档太少了.......)

(1)ListSource和DataSource属性,这个比较好理解,DataSource就是这个ComboBox自身所对应数据库的字段所在的TDataSource。而ListSource则对应着这个ComboBox自身的字段所关联的字典的数据集(比较拗口)。
例如:ADOTable1是商品表,DataSource1是对应ADOTable1,ADOTable2是商品分类表,DataSource2是对应ADOTable2。现在需要在界面上有一个TDBLookupComboboxEh,你需要的效果是TDBLookupComboboxEh关联商品表的商品分类这个字段,而且希望用户可以很方便选择商品分类,那么他的ListSource就应该选择DataSource2,他的DataSource对应DataSource1。

(2)DataField属性。应该是主表的字段名称。

(3)KeyField属性。应该是对应编码表的对应字段的名称;

(4)ListField属性。这个是个很关键的属性,如果你希望下拉出一个表格的效果而不是仅仅一个List的效果,那么这个地方可以填写多个字段名,中间用“;”格开(用分号格开)。

(5)ListFieldIndex属性。这个属性也很关键。它决定你选中后,在控件里显示什么内容,虽然商品表和商品分类表之间靠商品分类编码关联,但是你肯定希望显示出来的是商品分类名称,这个时候这个参数就很重要了。例如:前面的ListField属性设置为“flbm;flmc;sjfl”(注:分类编码;分类名称;上级分类),那么如果用户选中Combobox下拉的菜单后你希望显示分类名称而不是分类编码,就需要设置ListFieldIndex为1而不是0。这个仅仅是显示的内容,实际入库的内容还是DataField对应的内容。

(6)Style属性。这个属性设置为csDropDownListEh即可保证用户只能选择而无法输入字符。如果设置为csDropDownEh则可以输入字符(感觉不可能让用户自行输入内容,除非表很大不好选,用这个功能来快速定位,但是要对输入的内容进行合法性验证)

(7)DropDownBox.ShowTitle属性。该属性设置为True可显示下拉表格的标题。

(8)DropDownBox.Column属性。该属性和DBGridEh的Column属性类似,可以对显示的标题进行设定(否则默认标题是字段名),也可以对下拉表格的一些参数进行设置,例如显示的行数等。

(9)DropDownBox.Sizable属性。决定下拉的表格能否允许用户改变Size。

(10)EditButton属性。可以允许用户设置右边那个小按钮的类型,是下拉图标还是自定义图标还是其他样式。

------------------------

希望后来人能够少走弯路,呵呵~

DBLookupComboBOX组件的使用方法

在许多数据表中,数据是以代码方式存放的,如在班级编码数据表tB03(表5.5)中,系部字段TB0309采用编码方式存放,系部真实名称则存放在系部编码表TB06。使用代码的好处是,用户可在编码表TB06...
  • Tercel99
  • Tercel99
  • 2011年05月08日 19:48
  • 2358

TDBLookupComboBox用法

TDBLookupComboBox主要用于关联其它表中的字段显示相关字段的内容,一般用于列表中。如有以下两个表:主表,状态表Create table main( iID int primary key...
  • duck04551
  • duck04551
  • 2010年11月28日 14:12
  • 1592

delphi TDBGridEh 里面镶嵌下拉列表

创建下拉列表 unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Grap...
  • wang463584281
  • wang463584281
  • 2014年03月31日 15:43
  • 1115

delphi相关笔记-与DBlookupcombobox的相关问题

1、在点击删除用户按钮时,要弹出一个删除用户窗口,要使得DBlookupcombobox一开始就显示数据库某字段的相关内容,就必须先赋值,即deleteuser.cbb2.Text:=DM.q_use...
  • hello_myhome
  • hello_myhome
  • 2015年03月24日 09:32
  • 1043

去掉Dblookupeh控件的自己填充功能

这个自动填充功能当数据出现 aa aaa aaaa 时就会出现aaa 最后一个a删不掉的情况。解决方法就去掉这个自动填充功能。在特定情况可以加快这个控件的速度 打开Dblookupeh.pas 文件一...
  • Open2ye
  • Open2ye
  • 2006年05月08日 21:28
  • 1085

为TDBLookupComboboxEh增加自定义列宽

TCustomDBLookupComboboxEh = class(TCustomDBEditEh, ILookupGridOwner) Private FListWidths: string...
  • yanjinrong
  • yanjinrong
  • 2013年12月26日 15:29
  • 771

cxDBLookupComboBox显示多列时,如何取后几列的值?

1、显示多列时,如何取后几列的值?  2、如何让cxDBLookupComboBox与listsource所关联的Table或者Query同步?  也就是说:当cxDBLookupComboBox...
  • wori
  • wori
  • 2015年01月27日 18:24
  • 1421

cxgrid中的lookupcombobox实现多列模糊查找最终版2

模糊查询 1、设置属性 DropDownListStyle := lsEditList; 2、修改单元 cxCustomData.pas 11094行 funct...
  • wori
  • wori
  • 2015年01月27日 18:19
  • 1601

ehlib组件包当中TDBLookupComboboxEh的小结

TDBLookupComboboxEh和TDBGridEh一样强大无比,可以做出Combobox下拉出Grid的效果。下面是一些重要属性的小结(可怜费了我半天功夫,文档太少了.......)(1)Li...
  • crazycock
  • crazycock
  • 2004年10月24日 20:51
  • 4341

TSmartDBLookupComboBox使用

TSmartDBLookupComboBox使用 常用设定                 //编辑DataSet信息                 DataBinding.DataField...
  • chelen_jak
  • chelen_jak
  • 2011年11月23日 18:08
  • 528
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ehlib组件包当中TDBLookupComboboxEh的小结
举报原因:
原因补充:

(最多只允许输入30个字)