可以用 Gridview
但如果要讓 CheckBox 和使用者互動,多半會用 TemplateField 來客製
本篇即是介紹如何將 bool 欄位繫結到 CheckBox 控制項的 Checked 屬性
I. 準備事項
首先要確定資料欄位的型別需為 boolean否則在繫結 Checked 屬性時,會丟出格式不符的例外
範例中是用自己建立的虛擬 Table 來模擬 DataBase 的資料
各位在實作時,可直接使用 DB 來練習
另外在圖中可以看到,坎尼用 0 和 1 來輸入 boolean 資料
CSharp 裡的確可以接受這樣的語法 (印象中 VB 也是?)
II. 實作
CheckBoxField 繫結 boolean 欄位,只需給予 DataField 即可但以 TemplateField 加入的 CheckBox 控制項,則是要自行加入 Binding 語法:
Checked='<%#Eval("boolean 欄位")%>'
執行畫面
可以再加上全選的 CheckBox 在標題列,及儲存變更的按鈕
就完成可和使用者互動的 CheckBox 欄位
4 則留言:
請教阿尼:
>>可以用 Gridview 原生提供的 CheckBoxField
原生的解試是?感謝阿尼 :)
Hi WIT,
就是 Gridview 原本就提供的 BoundField,可以參考文章中的第一張圖片
或是用 AutoGenerateColumns 直接 Binding boolean 的資料來源,Gridview 會自動用 CheckBoxField 來顯示資料
或者是對這個名詞有疑問? 坎尼很自然就用這個名詞,但剛剛查字典卻查不到 (汗)
原生 -> 自身,改成這樣或許會好懂一點 Orz
「原生」應該是從原文的「Native」來的 (native code),可以想像成系統/平台「內建」或者「預設」就有支援的 (最底層的),例如 Google Native Client (http://en.wikipedia.org/wiki/Google_Native_Client)。另外一點,講到「原生」通常都會和 C/C++ 扯上關係 ~
了解了,感謝阿尼及Tim :)
張貼留言