Vb怎么定义全局字典,怎么解决相互联动的combobox(比较急)

yusupjanx 2023-09-13 20:38:38

如题,Vb怎么定义全局字典,怎么解决相互联动的combobox,总共四级combobox,而且是需要程序从表格里获取下拉内容

 

...全文
大吉大利
拼手气红包 15.00元
1559 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-09-13
精选
  • 打赏
  • 举报
回复 2
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/7998968, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
草履虫程序员 2023-09-13
  • 打赏
  • 举报
回复

也可以跟数据库结合,做一个智能匹配的函数。

Evan_422 2023-09-13
  • 打赏
  • 举报
回复 2

首先,你需要在VB中声明一个全局字典(Module-level Dictionary)来存储四级ComboBox的数据源。你可以在模块(Module)中声明这个字典,以便在整个应用程序中都能访问它:

Module GlobalModule
    Public ComboBoxData As New Dictionary(Of String, Dictionary(Of String, List(Of String)))
End Module

然后需要为四个ComboBox控件创建事件处理程序。假设这四个ComboBox控件分别为ComboBox1、ComboBox2、ComboBox3和ComboBox4。以下是ComboBox1的示例事件处理程序:

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
    ' 获取ComboBox1的选择项
    Dim selectedItem As String = ComboBox1.SelectedItem.ToString()

    ' 使用选定项从全局字典中获取ComboBox2的数据源
    Dim comboBox2Data As Dictionary(Of String, List(Of String)) = ComboBoxData(selectedItem)

    ' 清空ComboBox2并添加新数据
    ComboBox2.Items.Clear()
    ComboBox2.Items.AddRange(comboBox2Data.Keys.ToArray())
End Sub

然后,你可以为ComboBox2、ComboBox3和ComboBox4创建类似的事件处理程序,以便它们能够相互联动。确保在每个ComboBox的事件处理程序中更新下一个级别的ComboBox的数据源。

最后,你需要加载初始数据源到ComboBox1中,可能是从表格中获取。这可以在应用程序启动时或其他合适的地方完成。例如:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ' 假设你从表格中获取了ComboBox1的初始数据
    ' 这里示例数据,你需要根据你的实际情况来获取数据并填充ComboBoxData字典
    ComboBoxData.Add("Category1", New Dictionary(Of String, List(Of String)) From {
        {"Subcategory1.1", New List(Of String) From {"Item1.1.1", "Item1.1.2"}},
        {"Subcategory1.2", New List(Of String) From {"Item1.2.1", "Item1.2.2"}}
    })

    ' 填充ComboBox1
    ComboBox1.Items.AddRange(ComboBoxData.Keys.ToArray())
End Sub
  • 打赏
  • 举报
回复
浪客 2023-09-13
  • 打赏
  • 举报
回复

combobox的Change事件中修改下一级combobox的内容。

我在做项目时,经常用到easyUI框架,今天总结一下easyUI中的combobox吧~ 创建easyui-combobox的方法,在easyUI的官网都有: 1、从带有预定义结构的 元素创建组合框(combobox