那簡單介紹一下這個Selection Class,其實也能再改成適合RadioButtonList或CheckBoxList來用,但目前只做給DropDownList而已,有時間再來擴充。
使用方法:
- 引用Selection。
- DropDownList直接呼叫擴充方法BindDropDownList(BindingType),用參數BindingType來指定要綁定的內容。
using Selection; ... // EX:綁定月份(1~12) DropDownList1.BindDropDownList(BindingType.MonthDropList);
簡單說明一下Selection Class的內容,內容包含:
- Selection Class:裡面只有一個BindDropDownList method,用來當作入口。
- BindingType enum:BindDropDownList method的參數,用來指定要Bind的內容。
- BindingMethod Class:用來實作BindingType enum。
- DB Class:DB Utility。
目前的BindingMethod Class裡面示範了兩種Binding資料的寫法。
一種是內容寫死在程式裡的,EX:SexDropList method:
public void SexDropList(DropDownList oDropList) { AddNewSelection("男", "0").AddNewSelection("女", "1").BindData(oDropList); }另一種是自行下SQL去抓出要Binding的資料,這種方法可以指定Binding的Text和Value,EX:DeptDropList method:
public void DeptDropList(DropDownList oDropList) { sSQL = string.Format("SELECT {0} DeptID {1} ,DeptName {2} From tblDept Order By DeptID", IsDistinct ? "Distinct" : "", AliasField != "" ? "AS " + AliasField : "", AliasValue != "" ? "AS " + AliasValue : ""); oDropList.AppendDataBoundItems = true; AddNewSelection("全部", "").BindData(oDropList); BindDataByDb(oDropList); }
如果要自行擴充Binding的內容,要把method加在BindingMethod Class裡,再把method Name加到BindingType enum,記得兩邊的名稱要一模一樣,因為是用反射原理去抓method的~
附上Selection Class。
沒有留言:
張貼留言