首页 > 解决方案 > 尝试使用父子下拉列表填充组合框

问题描述

我正在创建一个填充父子列表的组合框。

我已经有 2 个单独的父子组合框。我想看到的是把这些放在一个组合框中,在其父列表下有子列表。当然孩子是缩进的,方便查看

这是我想要实现的示例图像。

在此处输入图像描述

另一方面,是否有任何其他可用的组合框组件可以执行这种类型的下拉列表。

感谢您对此的任何帮助。

更新:忘了提到数据来自使用客户端数据集的 2 个表。意思是,我必须使用 2 个表之间的循环将 2 个表填充到一个组合框。

标签: delphitcombobox

解决方案


标准 ComboBox 控件不支持您想要的多个级别。然而,这并不难通过简单地在“子”项目前插入空格来实现,例如:

ComboBox1.Items.Add('Dunning''s Pool Depot, Inc.');
ComboBox1.Items.Add('  Big City Store #002');
ComboBox1.Items.Add('  Littleton Store #445');
ComboBox1.Items.Add('  ...');

ComboBox1.Items.Add('Peacock Home Builders');
ComboBox1.Items.Add('  Baxter Street');
ComboBox1.Items.Add('  Elm Wood Drive');
ComboBox1.Items.Add('  ...');

给定任何项目的索引,您可以通过简单地查看它是否具有前导空格来确定它是“父”还是“子”。或者,您可以使用该Items.Objects[]属性来存储每个项目的上下文数据,例如类型(“父”或“子”)、父索引等。


推荐阅读