我有两个自动填充文本框。一个是客户名称,另一个是客户代码。 我已使用以下代码为客户和客户代码文本框设置了自动填充功能:
客户自动填充
Dim ds As DataSet = obtainCustomerData()
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
CustName.Add(ds.Tables(0).Rows(i)("name").ToString().ToUpper)
Next
CustomerNameTB.AutoCompleteSource = AutoCompleteSource.CustomSource
CustomerNameTB.AutoCompleteCustomSource = CustName
CustomerNameTB.AutoCompleteMode = AutoCompleteMode.Suggest
客户代码自动填充
Dim ds As DataSet = obtainCustomerCodeData()
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
CustCode.Add(ds.Tables(0).Rows(i)("code").ToString().ToUpper)
Next
CodeTB.AutoCompleteSource = AutoCompleteSource.CustomSource
CodeTB.AutoCompleteCustomSource = CustCode
CodeTB.AutoCompleteMode = AutoCompleteMode.Suggest
现在我希望最终用户开始在任一文本框中输入内容,但是如果他们根据名称选择客户,我希望它通过另一个文本框中的代码,如果他们开始输入代码,我希望它自动填充名称。
我该怎么做?
答案 0 :(得分:1)
如果您使用ComboBox
代替TextBox
,那么只需要一些简单的设置:
Code
,另一个用于Name
。DataSource
设置为相同的列表。 DisplayMember
设置为Code
属性,将另一个设置为Name
属性。AutoCompleteSource
的{{1}}设置为ListItems
。AutoCompleteMode
的{{1}}设置为Suggest
。这样,每个ComboBox
将像列表的索引一样,当您从其中一个中选择一个项目时,另一个将选择相同的项目。一个显示Code
,另一个显示Name
。