有一個功課是要用 C# / 或者其他的編寫語言一個購買程式
數據庫結構大概如下
> 第1個 第2個
> +--------+------+ +---------+--------+-----+
> + ID(PK)+ Name+ + ID(FK) + EID(PK) +Name+
> + ID01 + A + + ID01 + ED01+ A001+
> + ID02 + B + + ID01 + ED02+ A002+
> + ID10 + L + + ID01 + ED03+ A003+
> +-----------+--- + + -------+-----------+
第3個 第4個 FK 也是reference 上一個PK
現在 bool +SelectedIndexChange + if 處理的,現在做到第三個的時候 發覺太多了if
process.cs
bool ID01 = false;
SKIP
dataReader["ID"].ToString().Equals("ID01")
SKIP
if (ID01 == true)
{
addSubList[1].Add(dataReader["Name"] + "");
}
Combobox.cs
List<string>[] AddSubList; //1
AddSubList = dbConnect.SelectList(); //1
combobox.Items.Clear();
if (Combo.SelectedItem.ToString().Equals("A"))
{
hideCatid_lbl.Text = "ID001";
for (int i = 0; i < AddSubList[1].Count; i++)
{
int number1 = subCat_combo.Items.Add("");
subCat_combo.Items[number1] = AddSubList[1][i];
if (Combo.SelectedItem.ToString().Equals("B"))
{
hideCatid_lbl.Text = "ID002";
for (int i = 0; i < AddSubList[1].Count; i++)
{
int number1 = subCat_combo.Items.Add("");
subCat_combo.Items[number1] = AddSubList[2][i];
}
}
我寫 if已經寫到發瘋 是不是不要用 Combobox
感謝各路大神
一般來說資料都是從資料庫來的,
你需要有幾個相關聯的資料表來做這件事,
這不是三言兩語能夠說清楚的事...
這個題目說真的要做的話沒那麼容易,
我不知道你們老師給你們多少時間來做這個題目...
~我的話會這樣~
1.宣告變數string str="ID" + i.ToString("00");
2.包一個for迴圈,I>=1;I++跑 hideCatid_lbl.Text
3.內部for迴圈J++跑 ubCat_combo.Items[number1] = AddSubList[I][J];
雖然我也看不懂你想做什麼
不過你把你的DB設計好,剩下的都拿去DB做查詢
就不用寫一堆if
select value from table where 欄位=selectedvalue
以你 hideCatid_lbl.Text = "ID002"為例
select ID from table where name=Combo.SelectedItem.ToString()
只要function寫好就很輕鬆了
public Combo_selectedchange(object sender, EventArgs e)
{
hideCatid_lbl.Text = QueryID(Combo.SelectedItem.ToString());
subCat_combo.DataSource = QueryTableAsList(Combo.SelectedItem.ToString());
}