GridView里面嵌套RadioButton
很多時候需要在GridView里面嵌套一些其它的控件,比如說單選按鈕,復選按鈕,文本框等等,這個事兒也不難,以前做過很多次也沒遇見什么問題,但是最近卻遇到了一件令我非??鄲赖氖虑?#xff0c;我在GridView里面嵌套了一個RadioButton,我的目的是想讓用戶選擇一個對象對其操作,起初是這個RadioButton無法單選,給它指定了GroupName之后也是一樣的問題,后來這個解決了,代碼如下:
protected void rdbCheck_CheckedChanged(object sender, EventArgs e){for (int i = 0; i < this.dgvUserGrouopList.Rows.Count; i++){((RadioButton)this.dgvUserGrouopList.Rows[i].FindControl("rdbCheck")).Checked = false;}((RadioButton)sender).Checked = true;//foreach (GridViewRow row in this.dgvUserGrouopList.Rows)//{// if (row.RowType == DataControlRowType.DataRow)// {// RadioButton rb = (RadioButton)row.FindControl("rdbCheck");// rb.Checked = false;// }//}//RadioButton btn = sender as RadioButton;//btn.Checked = true;//foreach (GridViewRow row in this.dgvUserGrouopList.Rows)//{// if (row.RowType == DataControlRowType.DataRow)// {// RadioButton rb = (RadioButton)row.FindControl("rdbCheck");// if (rb.Checked)// {// SelectGrouopID = row.Cells[3].Text.Trim();//給全局變量賦值// }// }//} }
以上兩種方法都可以達到效果,但是第一種明顯要簡潔一些,單選沒問題了,隨之而來的便是不管怎么樣都無法獲取GridView上面的數據,如下圖:
選中數據之后,點擊“修改”按鈕,進入代碼里面:
可以看到,獲取不到GridView上面的數據了,我以為是RadioButton的問題,所以換成了CheckBox,可以搞了半天一樣的問題,后來我看了看前臺的代碼,發現有個問題,不知道當時為什么給GridView綁定字段的時候都是使用的TemplateFeld,并不是BoundField,會不會是這個原因呢?于是將TemplateFeld換成了BoundField,果然,問題得到解決,如下圖:
圖片中那幾個“增加”,“刪除”,“修改”,“保存”按鈕的圖片是在FrankTang的博客中截圖的,當時覺得這幾個圖片挺實用的,就截圖保存了下來,在此表示感謝。
http://www.cnblogs.com/FrankTang/archive/2012/10/30/2746081.html
總結
以上是生活随笔為你收集整理的GridView里面嵌套RadioButton的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jlink无法识别CPU/lpc2103
- 下一篇: 纯css制作带三角(兼容所有浏览器)