我有一个类型下拉列表的组合框,即允许用户从列表中选择某些内容或键入新值。基于此组合值,在表格中自动选择其他值,因为它们是数据绑定。
Customer_ID是需要挑选或输入的字段,并根据它自动更新表单中的客户名和第二名。如果我从下拉列表中选择一些值,这可以正常工作,假设客户ID = 1111。
现在取代选择,如果我输入此值并按Tab键,则名称字段上不会发生udpate。请建议我在这里缺少什么。
答案 0 :(得分:0)
我认为使用标准ComboBox最好的办法是处理Leave事件,或者可能是TextChanged事件。我做了一些实验,输入的值没有添加到列表中,只是更改了Text属性。它甚至不会更改您键入的项目的值。并且,它不会触发SelectedItem或IndexChanged事件。 因此,如果您处理Leave事件,当有人选中ComboBox时,您可以进行查找。但该项目不会被添加到列表中。 如果您需要默认控件中未提供的功能,您可以使用添加项目的TextBox和Button重新设计UI。或者,您可以查找具有更多功能的ComboBox控件的第三方实现。
Private Sub ComboBox1_Leave(sender As Object, e As EventArgs) Handles ComboBox1.Leave
Dim theCB As ComboBox = DirectCast(sender, ComboBox)
DoLookup(theCB.Text)
End Sub