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属性。可以允许用户设置右边那个小按钮的类型,是下拉图标还是自定义图标还是其他样式。
------------------------
希望后来人能够少走弯路,呵呵~
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/3704101.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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的按钮加中文