繁体   English   中英

VB.net 链接两个自动完成文本框

[英]VB.net linking two autocomplete textbox

我有两个自动完成文本框。 一个用于客户名称,另一个用于客户代码。 我已经使用以下代码为客户和客户代码文本框设置了自动完成功能:

客户自动完成

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

现在我希望最终用户开始在任一文本框中输入,但是如果他们根据名称选择客户,我希望它通过另一个文本框中的代码,如果他们开始输入代码,我希望它自动填充名称.

我该怎么办?

如果您使用ComboBox而不是TextBox它只是一些简单的设置:

  1. 添加 2 个组合框,一个用于Code ,另一个用于Name
  2. 将两个组合框的DataSource设置为相同的列表。
  3. 将一个的DisplayMember设置为Code属性,将另一个设置为Name属性。
  4. 将两者的AutoCompleteSource设置为ListItems
  5. 将两者的AutoCompleteMode设置为Suggest

这样,每个ComboBox都将充当列表的索引,当您从其中一个中选择一个项目时,另一个将选择相同的项目。 一个显示Code ,另一个显示Name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM