我的组合框中有一个两列列表,当我使用下拉列表选择其中一个项目时,它存储(我在组合框的文本框部分中看到的)只有我选择的值(是它的根据boundcolumn在右侧或左侧列中的那个
我的问题是:有没有办法在组合框的文本框部分存储(或呈现 - 这是我的目标),选择了一行的两列?
例如:[column1] Daniel [column2] Smith。在我想要的文本框中:丹尼尔史密斯(而不仅仅是丹尼尔,或者他们自己的史密斯)
答案 0 :(得分:0)
您可以设置组合框文本字段以使用多列中的数据,但您可能需要编写一些代码来执行此操作。
答案 1 :(得分:0)
您所描述的理论上是可行的,但有限制。
即使你没有要求,这是我的想法:
与描述here类似,您可以在不更改其text
的情况下更改ComboBox的value
。这允许您“存储”基础值,同时在一个列中显示两个列。
聆听SelectedIndexChanged Event
并更改text
属性,如下所示:
Sub ComboBox1_SelectedIndexChanged()
ComboBox1.Text = ComboBox1.Column(0) & "-" & ComboBox1.Column(1)
End Sub
(这只是一个基本的例子。)现在无法测试它,但在.Net中你可以使用CType
将sender
参数显式转换为ComboBox变量以这种方式访问它。
Boundcolumn
属性无法更改为多个值。您可以尝试在文本字段中使用VbTab
作为分隔符,但我不确定它将如何显示。
修改强>
不要忘记默认值。我认为您的文本字段应该在用户第一次点击列表之前显示列。