今天我遇到一個很特別的需求,
他要讓"使用者"看得到 CheckBox ,但是不能選,
照理來講我們都直接使用Enable 屬性來控制,
但是"使用者"又說不想看到它是灰色的,
這時候就.......付錢的最大@@
首先是正常做法,但是Check會變成灰色:
using (DatabaseEntities1 db = new DatabaseEntities1()) { //我們先建立連線
var result = from i in db.chkTable select new {i.ischk , i.chkvalue};//ischk 就是 true ,false
//chkvalue 就是柯南,孫悟空...
result 就是我們要的資料
CheckBoxList1.Items.Clear(); //先把CheckBoxList1清空 foreach (var x in result) //一筆一筆搜尋我們要的東西 { ListItem list = new ListItem(); list.Text = x.chkvalue; //放入 柯南,孫悟空,卡卡西,天天 list.Value = x.ischk; //放入 true,false ,true ,false list.Selected = Convert.ToBoolean(x.ischk.ToString()) ;//設定是否勾選 list.Enabled = false; //讓使用者不能操作,只能觀看 CheckBoxList1.Items.Add(list);//加入至CheckBoxList1 } }接下來是為了"使用者"的變形作法:
首先設定一個變數
int a=1;
再來抓兩張圖片string ischk = "<img src=\"ischk.png\" />";//這是打勾的 string nochk = "<img src=\"nochk.png\" />";//這是沒打勾的
using (DatabaseEntities1 db = new DatabaseEntities1()) { //我們先建立連線
var result = from i in db.chkTable select new {i.ischk , i.chkvalue};//ischk 就是 true ,false //chkvalue 就是 柯南,孫悟空... result 就是我們要的資料
CheckBoxList1.Items.Clear(); //先把CheckBoxList1清空 foreach (var x in result) //一筆一筆搜尋我們要的東西 { list.Text = x.chkvalue; //放入 柯南,孫悟空,卡卡西,天天 list.Value = x.ischk; //放入 true,false ,true ,false list.Selected = Convert.ToBoolean(x.ischk.ToString());//設定是否勾選 list.Enabled = false; //讓使用者不能操作,只能觀看 if (list.Selected == true){ if ((a % 4) == 0) { Label1.Text += ischk + list.Text + "</br>";} else { Label1.Text += ischk + list.Text;} } else { if ((a % 4) == 0) {Label1.Text += nochk + list.Text + "</br>";} else {Label1.Text += nochk + list.Text;} }} }
完成!!
oh my god ,,,,,,
就在剛剛又有一個新的做法!
超方便! 完全不用動到程式碼
只要在頁面 CheckBoxList 控制項多一個屬性 onclick="return false"
沒有留言:
張貼留言