[轉]GridView RadioButton 解決辦法(三) -- 實現單選的第二種方法
GridView1 中有一列從數據庫加載數據 ,并且加一列模板列,在編輯模板中 給該列加上radiobutton1
但是運行起來后 那列所有radiobutton可被選中請問怎樣處理才能讓只選中一個阿!!!
這是今天在CSDN上看見有個 朋友問的問題,我看見有的人說指定同一個GroupName屬性,但是這個不管用,有人說用HTML控件代替服務器端控件,我覺得HTML空間不靈活,服 務器端根據選擇結果處理的時候不太好用,還有人說用JavaScript遍歷真個GridView,我覺得這樣也不好。我后來想了一個覺得跟前面幾個比都 要好一點的辦法,用服務器端控件但是有不去遍歷GridView的方法:
在服務器端給 GridView添加如下方法
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
RadioButton rb = (RadioButton)e.Row.FindControl("RadioButton1");
rb.Attributes.Add("onclick", "judge(this)");//給RadioButton添加onclick屬性
}
}
<script type="text/javascript">
var last = null;//最后訪問的RadioButton的ID
function judge(obj)
{
if(last == null)
{
last = obj.id;
// alert(last);
}
else
{
var lo = document.getElementById(last);
lo.checked = "";
// alert(last + " " + lo.checked);
last = obj.name;
}
obj.checked = "checked";
}
</script>
這樣就行了!呵呵,我覺得的至少比便利GridView要好吧!
原文: http://www.rzrgm.cn/interboy/archive/2009/02/28/700956.html
浙公網安備 33010602011771號