創建了兩個組合框和一個名爲MAINCATE的表。如何從另一個組合框中填充相同形式的組合框?
我有一個代碼,但堅持以確定我應該使用什麼SQLQuery來獲得第二個組合框填充,由第一個組合框確定。
我只需要了解如何在基於mainCate第一組合框中選擇了第二個組合框填寫一點點幫助..
我需要做這樣的事情。如果組合框1 mainCate是「食品」,然後組合框2應顯示 「生,熟,水果和蔬菜」
這是什麼MAINCATE表內 - (http://i.imgur.com/qR90Z2B.png)
這是我的代碼: -
DataSet ds1;
DataSet ds2;
public User()
{
InitializeComponent();
}
private void User_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=PEWPEWDIEPIE\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
conn.Open();
SqlDataAdapter daMain = new SqlDataAdapter("SELECT * FROM MAINCATE", conn);
ds1 = new DataSet();
daMain.Fill(ds1, "Maincate");
mainCatU.DisplayMember = "mainCate";
mainCatU.ValueMember = "mainCate";
mainCatU.DataSource = ds1.Tables["MAINCATE"];
mainCatU.DropDownStyle = ComboBoxStyle.DropDownList;
mainCatU.Enabled = true;
SqlDataAdapter daSub = new SqlDataAdapter("SELECT >What should i do here?<", conn);
ds2 = new DataSet();
daSub.Fill(ds2, "Subcate");
subCatU.DisplayMember = "Subcat1";
subCatU.ValueMember = "Subcat";
subCatU.DataSource = ds2.Tables["MAINCATE"];
subCatU.DropDownStyle = ComboBoxStyle.DropDownList;
subCatU.Enabled = true;
conn.Close();
}
private void mainCatU_SelectionChangeCommitted(object sender, EventArgs e)
{
//have no idea if a code should be here..
}
還是我應該這樣做?
SqlCommand cmd = new SqlCommand("select Subcat1,Subcat2,Subcat3,Subcat4 from MAINCATE where [email protected];", con);
=========================================
@philip - 把這個頁面加載repalcing我上面的代碼 - 它沒有工作..
string result = mainCatU.SelectedItem.ToString();
SqlDataAdapter daSub = new SqlDataAdapter("SELECT * FROM MAINCATE where mainCate = " + result , conn);
ds2 = new DataSet();
daSub.Fill(ds2, "Subcate");
subCatU.DisplayMember = "Subcat1";
subCatU.ValueMember = "Subcat1";
subCatU.DataSource = ds1.Tables["MAINCATE"];
subCatU.DropDownStyle = ComboBoxStyle.DropDownList;
subCatU.Enabled = true;
甚至試圖
SqlDataAdapter daSub = new SqlDataAdapter("SELECT * FROM MAINCATE where [email protected]", conn);
你甚至有執行SQL兩次?兩個盒子都有相同的數據源嗎? 如果是這樣,只需使用DS1上第二個框藏漢:) – JonE
如果你獲得相同的數據,然後從Maincate,你應該再想想......「我在這裏重複碼」,你的選擇,所以你可以再只需爲兩個組合框使用相同的數據表即可。 –
對不起..忘了採取這一點,當我甚至沒有使用它.. –