I have a small requirement and that is:
There are two combo boxes on a form and for populating the employee names and roles. I am populating the combo boxes as follows:
I have created a class called "DbConnect" and in that there are 02 functions as:
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
Have designed a form with two combo boxes and am populating data into them as:
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
The data is getting populated into the combo boxes correctly and my requirement is that when I select and employee from the first combo, his corresponding role should get selected in the second combo.
Anyone, please help me on this requirement.
Regards,
George
You need to add a binding source and a data relationship to get this to work. Consider this walk through, it is for datagridviews but the concept is the same.
I did a quick mock up to give you an idea. Remember that "EmpTable" is the name that you assign to your datatable and "EmpColumn" is the parent column, similarly apply the same logic to the Roles table. The key change to your code is that both tables must be in the same dataset with a datarelationship.
Good luck.