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,在選擇要顯示的項即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM