从其他组合框的选定项目填充组合框
问题描述:
我正在创建一个窗体,其中用户必须提供州名和城市名称。城市依赖于国家。从其他组合框的选定项目填充组合框
代码用于填充城市:
Dim ds As DataSet = New DataSet
Dim adapter As New OleDb.OleDbDataAdapter
Dim sql As String
sql = "SELECT * from statestab order by `state` ASC;"
adapter.SelectCommand = New OleDb.OleDbCommand(sql, con)
adapter.Fill(ds)
ComboBoxstate.DataSource = ds.Tables(0)
ComboBoxstate.ValueMember = "stateid"
ComboBoxstate.DisplayMember = "state"
代码为城市:
Dim ds As DataSet = New DataSet
Dim adapter As New OleDb.OleDbDataAdapter
Dim sql As String
Dim st As Integer
st = ComboBoxstate.SelectedValue.ToString()
sql = "SELECT * from citytab where stateid=st order by `cityname` ASC;"
adapter.SelectCommand = New OleDb.OleDbCommand(sql, con)
adapter.Fill(ds)
citycombo.DataSource = ds.Tables(0)
citycombo.ValueMember = "cityid"
citycombo.DisplayMember = "cityname"
在下拉列表中,当选择城市化,我拨打市加载功能来填充城市组合框。 但我无法填充城市组合框。
答
您需要在状态组合框中的Selected_Index_Changed中使用处理程序。从那里,叫你的日常装载了城,在SQL的城市,你需要做的
where stateid=" & comboBox1.SelectedValue.ToString()
+0
尝试过但不工作, – 2015-03-25 16:53:25
答
以下是全文,请注意,是可以要好得多,但我试图保持你的语法机智:
Private Sub cboState_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboState.SelectedIndexChanged
Load_Cities()
End Sub
Private Sub Load_States()
Dim ds As DataSet = New DataSet
Dim adapter As New OleDb.OleDbDataAdapter
Dim sql As String
sql = "SELECT * from tblState order by StateName ASC;"
adapter.SelectCommand = New OleDb.OleDbCommand(sql, con)
adapter.Fill(ds)
cboState.DataSource = ds.Tables(0)
cboState.ValueMember = "stateid"
cboState.DisplayMember = "statename"
End Sub
Private Sub Load_Cities()
On Error Resume Next
Dim ds As DataSet = New DataSet
Dim adapter As New OleDb.OleDbDataAdapter
Dim sql As String
sql = "SELECT * from tblCity where StateID = " & cboState.SelectedValue.ToString() & " order by CityName ASC;"
adapter.SelectCommand = New OleDb.OleDbCommand(sql, con)
adapter.Fill(ds)
cboCity.DataSource = ds.Tables(0)
cboCity.ValueMember = "CityID"
cboCity.DisplayMember = "CityName"
End Sub
+0
谢谢我添加StateID =“&cboState.SelectedValue.ToString()这到我的代码,它是像魅力 – 2015-03-29 15:36:29
什么不工作?你得到一个错误或国家不显示? – phil652 2015-03-25 12:18:20
它看起来像你没有将状态ID传入你的第二个查询中,而只是文本“st”而不是“st”变量的值。除非你在表中有一个名为'st'的列,否则我希望你看到一个SQL异常? – 2015-03-25 12:39:41
我有一个列名称stateid城市选项卡,这也是目前statestab – 2015-03-25 16:53:02