我可以在没有数据源的情况下使用 TDBLookupComboBox

Can I use a TDBLookupComboBox without a DataSource

我的其中一个表单需要一个组合框。我想使用 TDBLookupComboBox 而不是经典的 TComboBox,因为我想避免在代码中填充 TComboBox 的痛苦(我喜欢 TDBLookupComboBox 的列表源等)

问题是我没有数据源来附加 TDBLookupComboBox。

我复制了一个现有的 TDBLookupComboBox,并从中删除了 DataSource。现在当它加载时,我在下拉中什么也得不到(实际上我根本无法将其下拉,也许数据就在那里我只是看不到它)。

是不是因为我没有DataSource?对此有解决方法还是我必须走 TComboBox 路线?

嗯,你应该有一个 TDataSource,它必须连接到 TDBLookupComboBoxListSource 属性。只需为 KeyFieldListField 添加像样的条目。这应该可以正常工作。

您可以在没有数据源的情况下使用提供程序和查询,例如浏览 xml 的查询。尝试从提供商处搜索,您可以用它做很多事情。并且您可以覆盖数据,因此当 TDBCombo 询问供应商 whcih 询问您的组件时,如果您覆盖数据,您会回复您想要的组合。