【问题标题】:VB.net linking two autocomplete textboxVB.net 链接两个自动完成文本框
【发布时间】:2023-03-20 18:58:01
【问题描述】:

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

客户自动完成

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

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

我该怎么办?

【问题讨论】:

    标签: .net vb.net winforms autocomplete textbox


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多