随笔 - 809  文章 - 0 评论 - 144 阅读 - 770万

 

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属性。可以允许用户设置右边那个小按钮的类型,是下拉图标还是自定义图标还是其他样式。

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

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

posted on   del88  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2012-05-02 Delphi中 为DBNavigator的按钮加中文
点击右上角即可分享
微信分享提示