如何實現兩個combobox的聯動?
程序包含一個ACCESS數據庫,數據庫里包含一個表和兩個項目:name和Gender分別對應兩個combobox 想實現的效果:
1. 當其中一個選擇之後另外一個自動對應
比如name選擇了 Sam ,gender自動變為male
反之當gender選擇了male,則NAME里將列出所有GENDER為MALE的人比如SAM , RICHARD。。。。
2.當一項為空的時候另一項自動清空
3.可以編輯並且錄入新的數據
[解决办法]
http://topic.csdn.net/u/20110912/18/b2b76dd2-18f8-4130-83bc-5fef08336e5a.html?63982
[解决办法]
'connstr為你的連接字符 'tablename為你的表名 Public Sub CreateItem(ByVal cmdstr As String, ByVal cbx As ComboBox) Dim conn As New OleDbConnection(connstr) Dim sda As New OleDbDataAdapter Dim cmd As New OleDbCommand(cmdstr, conn) Dim sds As New DataSet() Try sda.SelectCommand = cmd sda.Fill(sds, "Item") Catch ex As Exception MessageBox.Show(ex.ToString, "CeateItem Err") Return End Try If sds.Tables().Item(0).Rows.Count > 0 Then For i = 0 To sds.Tables.Item(0).Rows.Count - 1 cbx.Items.Add(sds.Tables.Item(0).Rows(i).Item(0).ToString) Next i End If End Sub Private Sub fmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CreateItem("SELECT name from tablename", cbxname) CreateItem("SELECT gender from tablename", cbxgender) End Sub Private Sub cbxname_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbxname.SelectedIndexChanged CreateItem("SELECT gender from tablename where name ='" & cbxname.Text.Trim & "'", cbxgender) End Sub Private Sub cbxgender_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbxgender.SelectedIndexChanged CreateItem("SELECT name from tablename where gender ='" & cbxgender.Text.Trim & "'", cbxname) End Sub