天天看點

C#中Combox的綁定總結

  剛來實習,經理讓修改一個考試系統,看到以前的老前輩的代碼,感覺和自己以前在學校接觸的不一樣,特此總結一下Combox的綁定,雖然這個問題都是老生常談的東西了。感覺自己總結過了,明白了,反思了才會懂得,了解,以後也會運用自如了。

1,下面是前輩的例子,

首先從資料庫中得到ds資料集

然後進行循環綁定添加items項

foreach(DataRow dr in ds.Tables[0].Rows)

     {                   

         this.comb_type.Items.Add(new ControlItem(dr,dr["answertypename"].ToString()));                   

     }

this.comb_type.SelectedIndex =0;

2,自己在學校學習的是綁定dt資料表或ds資料集。這樣就不用循環添加items項了,感覺代碼簡練了很多。

this.comb_type.DataSource = dt;//也可以用ds,此處就是ds.Tables[0];

this.comb_type.DisplayMember = "answertypename"; //綁定顯示成員的名字

this.com_answertype.ValueMember = "answertypeID";//綁定combox顯示成員的值

this.com_answertype.SelectedValue = "0";//讓combox固定顯示某個成員名字。

3,可以設定combox的DisplayMember,ValueMemeber

ValueMemeber 是combox的值成員,而DisplayMember是combox的顯示成員。

控件屬性設定和代碼中設定功能是一樣的。

4,綁定datasourse後,怎麼樣讓combox添加一項“請選擇”      
在asp中直接一句話:      

this.DropDownList1.Items.Insert(0,new   ListItem( "請選擇 ", "0 "));

但在winform中,綁定datasourse後就不能簡單實作添加“請選擇”項了。

可以用下面的兩種方法實作

(1)首先獲得dt  //或者ds

DataRow dr = ds.Tables[0].NewRow();

dr[0] = "0 ";

dr[1] = "請選擇 ";

ds.Tables[0].Rows.InsertAt(dr, 0);

this.com_answertype.DataSource = ds.Tables[0];

this.com_answertype.DisplayMember = "answertypename";

this.com_answertype.ValueMember = "answertypeID";

this.com_answertype.SelectedValue = "0"; //在此處選擇0值,即可顯示請選擇。

(2)在資料庫中直接添加一項“請選擇”,然後綁定dt或ds,在選擇要顯示的項即可。

轉載于:https://www.cnblogs.com/love-liu/archive/2011/12/26/2302147.html