如何用LiveBindings实现TDbLookUpComboBox等效控件(RAD Studio12.2+SQLite)
用LiveBindings实现TDbLookUpComboBox等效控件(无代码方案,RAD Studio 12.2 + SQLite)
前提准备
- 已通过RAD Studio的
TTable/TQuery组件连接SQLite数据库,包含主数据表(含外键字段)和lookup关联表(含关联键字段、显示字段) - 添加两个
TDataSource组件,分别绑定主数据表和lookup关联表的数据集组件,并将数据集的Active属性设为True
设计期配置步骤
添加基础控件
- 拖放一个普通
TComboBox到窗体 - 拖放两个LiveBindings组件:
TLinkListControlToField和TLinkPropertyToField
- 拖放一个普通
配置lookup数据绑定(填充ComboBox选项)
- 选中
TLinkListControlToField,在Object Inspector中设置:Control:选择刚才添加的TComboBoxDataSource:选择绑定lookup关联表的TDataSourceDisplayFieldName:选择lookup表中要在ComboBox下拉列表显示的字段(如CategoryName)KeyFieldName:选择lookup表中与主表外键关联的字段(如CategoryID)AutoActivate:设为True(自动加载数据)
- 选中
配置主表字段绑定(同步选中值与主表外键)
- 选中
TLinkPropertyToField,在Object Inspector中设置:Control:选择同一个TComboBoxControlPropertyName:选择KeyValue(直接关联字段值,比ItemIndex更可靠)DataSource:选择绑定主数据表的TDataSourceFieldName:选择主表中的外键字段(如ProductCategoryID)
- 选中
调整ComboBox交互属性
- 把
TComboBox的Style属性设为csDropDownList,限制用户只能选择列表项,禁止手动输入
- 把
效果验证
运行程序后,ComboBox会自动加载lookup表的所有选项;选择下拉项时,主表的外键字段会自动更新;切换主表记录时,ComboBox也会自动选中对应关联的选项,全程无需编写任何代码。
注意事项
- 确保lookup表的关联键字段与主表外键字段的数据类型完全一致(如均为整数型)
- 若使用
TQuery作为数据集,需确保查询语句正确返回所需字段,且Active属性已开启
内容的提问来源于stack exchange,提问作者antarey
相关产品推荐
相关产品推荐

