When a user selects a client from combobox 1 (a company we do work with and are partners with), its supposed to populate the users from combobox 2 for that client only, which needs to come from that particular database in SQL Server.
Example:
The first Combobox with all the Clients when a user selects a client and the Second ComboBox with all the Users from that database only, I want the Users list of the Second ComboBox to change according to the Clients selected from the list of the first ComboBox, but including a connection string, via SQL Server.
So if I select say....Google in Combobox 1 and in Combobox 2, I expect say.....10 users from Google. But if I change my mind and select Yahoo in Combobox 1 and in Combobox 2, I expect say..... this time around 12 users from Yahoo.
Database Name I'm using: MyDatabase
Get the users from these databases, based on the selection I make, which contains those particular users, not MyDatabase which has users as well:
My VB.Net code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("conStr").ConnectionString)
Dim cmd As New SqlCommand("Select * from CLIENTS", con)
con.Open()
Dim dt As New DataTable
dt.Load(cmd.ExecuteReader())
con.Close()
cboClient.DataSource = dt
cboClient.DisplayMember = "CLIENT_NAME"
cboClient.ValueMember = "ID"
rtfMessage.Tag = "Enter your message here"
rtfMessage.Text = CStr(rtfMessage.Tag)
What can I put in my comboboxes code to get the end goal of what I want to happen:
Private Sub cboUser_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboUser.SelectedValueChanged
--What do I put here?
End Sub
Private Sub cboClient_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboClient.SelectedIndexChanged
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("conStr2").ConnectionString)
Dim cmd As New SqlCommand("Select * from USERS", con)
con.Open()
Dim dt As New DataTable
dt.Load(cmd.ExecuteReader())
con.Close()
cboClient.DataSource = dt
cboClient.DisplayMember = "NetworkID"
cboClient.ValueMember = "ID"
cboClient.Text = ""
If cboClient.SelectedItem.Text = "Sunoco" Then
cboUser.Items.Add("NetworkID")
End If
End Sub
Possibility: On client change combo box function (cboClient_SelectedValueChanged)
1.) Change the database connection
2.) Query the proper user data from the correct database
3.) populate the user combo box with that user data
You just do what you have done in the load section in an if statement inside your user section.
sort of like :
`If cboClient.SelectedItem.Text = "Google" then
(code to populate the other combobox with google info)
End if`
`If cboClient.SelectedItem.Text = "Yahoo" then
dim sql as string = "Select firstName+ " " +lastname as empName from
Yahoo table"
dim cmd as sqladapter(sql, con)
dim dt as datatable
cmd.fill(dt)
cboUsers.datasource = dt
cboUsers.Datatextfield = "empName"
cboUsers.Datavaluefield = "empName"
cboUsers.DataBind()
End if
Dim sql2 As String = "Select EQPnumber, EQPdesc from CREW_LINEUP_ACTIVE_EQUIPMENT"
Dim activeEQPadt As New SqlDataAdapter(sql2, IPMS.Settings.conn)
activeEQPadt.Fill(activeDT)
ActiveEQPLstBx.DataSource = activeDT
ActiveEQPLstBx.DataTextField = "EQPdesc"
ActiveEQPLstBx.DataValueField = "EQPnumber"
ActiveEQPLstBx.DataBind()
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.