如何通过代码填充多列组合框?
Posted
技术标签:
【中文标题】如何通过代码填充多列组合框?【英文标题】:How to Populate a Multi-column Combobox via code? 【发布时间】:2015-07-06 16:13:27 【问题描述】:在我的访问表单上,我有一个空的组合框,其中 Row Source Type
设置为 Table/Query
,绑定列设置为 1
。
我想要做的是通过代码,用两列填充这个组合框,它向用户显示第一列,然后在代码中我将从第二列中获取值。
我的问题是,如何填充列?如果Row/Source
设置为Value List
,我知道如何填充组合框——但这只是一个平面列表;我这里要两列。
我不能为列数据使用单独的查询/表,因为我是动态生成的。基本上,我用编辑字段控件名称及其标题列表填充组合框。用户从组合框中选择标题名称,然后我可以获取控件名称。
我只需要知道如何将数据添加到组合框中的列。
所以,我想像这样(我知道这是不正确的,但你可以看到我想要完成的事情):
Me.mycombobox.AddItem("column 1 data";"column2 data")
【问题讨论】:
【参考方案1】:如果您将其添加到您的事件中,这将触发组合框被填充,它应该可以阐明您的问题:
Me.Combo0.RowSource = "Row1Column1;Row1Column2;Row2Column1;Row2Column2"
确保在本示例中您的 Column Count
设置为 2。基本上,您只需构建一个格式类似于示例中的字符串,其中填充了您想要填充到组合框中的内容。然后只需将其分配给您的组合框的RowSource
。
基本上当您输入 6 个项目作为 RowSource 时:
Item1, Item2, Item3, Item4, Item5, Item6
它会根据你设置的Column Count
而改变,例如如果列数设置为3,上面的列表将变成:
Item1 Item2 Item3
Item4 Item5 Item6
如果列数设置为 2 则变为:
Item1 Item2
Item3 Item4
Item5 Item6
注意:确保将Row Source Type
设置为“值列表”。
【讨论】:
我就是这样做的——但这会创建一个单列表,而不是多列表。 确保你设置了Column Count
,如果你没有,那么你只会得到一列。还要检查Column Widths
属性,如果它设置为2cm;0cm
之类的东西,那么即使第二列在技术上仍然存在,您也只会看到第一列。
在我给您的示例中,它将显示 2 行 2 列。我将编辑我的答案以提供其工作原理的可视化。
所以它会自动为我们划分。好的,这有效!谢谢!
@BGM 没问题,这是一个有趣的问题!以上是关于如何通过代码填充多列组合框?的主要内容,如果未能解决你的问题,请参考以下文章