一: ComboBox 經驗總結[動態綁定資料之後,靜態添加一條資料]
DropDowStyle=DropDown 允許使用者鍵入清單項目的文字框,為預設值
DropDownSysle=DropDownList 顯示一個項列表,使用者可從中選擇一項
A: 在屬性 Iitems 添加項
CobShow.SelectedIndex 選擇項的索引
CobShow.SelectedItem 選擇項的文本
CobShow.SelectText 空值
CobShow.SelectValue 報錯...
CobShow.Items[CobShow.SelectedIndex].ToString() 選擇項的文本
B:在程式中添加 CobShow.Item.Add() 結果和上面一樣
C: A B 兩種方式同時添加 結果和上面一樣
D:動態綁定資料
CobShow.SelectedIndex 選擇項的索引
CobShow.SelectedItem System.DataRow.DefaultView
CobShow.SelectText 空值
CobShow.SelectValue 選擇項的 VALUE 值
CobShow.Text 選擇項的 文本 值
CobShow.Items[CobShow.SelectedIndex].ToString() System.DataRow.DefaultView
E: 如果先通過屬性或者程式 寫入了值之後,動態綁定的時候 會清空原來的值
F: 如果動態綁定資料之後,在通過程式 CobShow.Item.Add('zhi'); 報錯...[解決辦法如下]
FSubject 是要顯示的文本,FTech 是要傳遞的值
DataTable dt = cboShow.DataSource as DataTable;
DataRow dr = dt.NewRow();
dr["FSubject"] = "---Text---";
dr["FTech"]="---Value---";
dt.Rows.InsertAt(dr, 0); 插入到第一行
dt.Rows.Add(dr); 追加到最後一行
解釋: dr["FSubject"],dr["FTech"] 是一行中的2列,賦值之後就完整的添加一行
CobShow.Text="---Text---",CobShow.SelectValue="---Value---"
posted on 2007-06-14 14:15 天山寒雪 閱讀(281) 評論(1) 編輯 收藏 引用 網摘 所屬分類: 技術總結
FeedBack:
# re: [★]ComboBox 經驗總結[動態綁定資料之後,靜態添加一條資料]2007-07-03 16:34 | 天山寒雪DataTable dt = ds.Tables[0];
DataRow dr = dt.NewRow();
dr["A"] = "0";
dr["B"] = "請選擇";
dt.Rows.InsertAt(dr, 0);
cboshow.DataSource = ds.Tables[0]; // 這個時候會觸發事件
cboshow.DisplayMember = "B"; // 這個時候也會觸發事件
cboshow.ValueMember = "A";
// 以上不愧是一個非常好的方法,但是當資料庫中有多行的時候,也要一個一個賦值嗎?
//下面繼續討論,假如cboShow 有事件 selectIndexchange 賦值的時候 會不會觸發事件呢 ?
//為什麼要討論的時候,因為我們有的時候需要在載入的時候不觸發事件,而是選擇的時候觸發事件,
//從上面可以看到DataSource,DisplayMember 的時候都會觸發一次 事件,以後都不會觸發
//此時SelectedValue 一直為 System.Data.DataRowView;;直接在 事件中判斷 selectvalue 的值...
if (cboshow.SelectedValue.ToString() != "System.Data.DataRowView")
{
string cc = "111";
}
//[2]
//if (cboshow.Text != "System.Data.DataRowView")
//{
// MessageBox.Show("123");
//} 回複 更多評論