VB.NET中的组合框

时间:2010-09-11 05:00:37

标签: vb.net

  

可能重复:
  Drop Down in VB.NET

亲爱的,

我的要求很小,那就是:

表单上有两个组合框,用于填充员工姓名和角色。我按如下方式填充组合框:

  1. 我创建了一个名为“DbConnect”的类,其中有02个函数:

    Public Function getEmployees() As DataTable
    Dim employeeDS As New DataSet
    Dim employeeDA As New SqlDataAdapter("prc_emp_list", conn)
    employeeDA.Fill(employeeDS, "employees")
    Return employeeDS.Tables("employees")
    End Function
    
    Public Function getRoles() As DataTable
    Dim roleDS As New DataSet
    Dim roleDA As New SqlDataAdapter("prc_role_list", conn)
    roleDA.Fill(roleDS, "roles")
    Return roleDS.Tables("roles")
    End Function
    
  2. 设计了一个带有两个组合框的表单,并将数据填充到它们中:

    Public Sub employees()
    accessFunction.Open()
    cboEmployees.DataSource = accessFunction.getEmployees
    cboEmployees.DisplayMember = "emp_name"
    cboEmployees.ValueMember = "login_id"
    End Sub
    
     Public Sub roles()
    accessFunction.Open()
    cboRoles.DataSource = accessFunction.getRoles
    cboRoles.DisplayMember = "role_name"
    cboRoles.ValueMember = "role_id"
    End Sub
    
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    employees()
    roles()
    End Sub
    
  3. 数据正确地进入组合框,我的要求就是当我从第一个组合中选择一名员工时,他的相应角色应该在第二个组合中选择/显示。

    任何人,请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

一般来说,假设组合框已成功填充,您需要向Employee组合框添加一个事件处理程序以捕获对所选项的更改。在该处理程序中,将Role combobox的所选项目设置为员工的角色。

当然,您需要持有角色到员工的映射才能做到这一点。

实施细节留给学生/从内存中了解VB的人比我更有时间/有更多时间在手上/不在上网本上的人。 :)

答案 1 :(得分:0)

只需双击“Employees”组合框,它将创建一个新的子组件,用于处理在那里更改所选项目。在该子程序中,编写将使用正确的角色填充“角色”组合框的代码。它看起来与你已经拥有的几乎相同,只有select语句看起来会有所不同。

类似的东西:

    dim cmd as sqlcommand = new sqlcommand _
("Select * from Roles where EmployeeID = " & EmployeesCombobox.selectedValue & ";")

然后,只需将其绑定到“角色”组合框,就完成了。