可能重复:
Drop Down in VB.NET
亲爱的,
我的要求很小,那就是:
表单上有两个组合框,用于填充员工姓名和角色。我按如下方式填充组合框:
我创建了一个名为“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
设计了一个带有两个组合框的表单,并将数据填充到它们中:
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
数据正确地进入组合框,我的要求就是当我从第一个组合中选择一名员工时,他的相应角色应该在第二个组合中选择/显示。
任何人,请帮我解决这个问题。
答案 0 :(得分:0)
一般来说,假设组合框已成功填充,您需要向Employee组合框添加一个事件处理程序以捕获对所选项的更改。在该处理程序中,将Role combobox的所选项目设置为员工的角色。
当然,您需要持有角色到员工的映射才能做到这一点。
实施细节留给学生/从内存中了解VB的人比我更有时间/有更多时间在手上/不在上网本上的人。 :)
答案 1 :(得分:0)
只需双击“Employees”组合框,它将创建一个新的子组件,用于处理在那里更改所选项目。在该子程序中,编写将使用正确的角色填充“角色”组合框的代码。它看起来与你已经拥有的几乎相同,只有select语句看起来会有所不同。
类似的东西:
dim cmd as sqlcommand = new sqlcommand _
("Select * from Roles where EmployeeID = " & EmployeesCombobox.selectedValue & ";")
然后,只需将其绑定到“角色”组合框,就完成了。