日期:2014-05-18  浏览次数:20618 次

GridView 提问
我的GridView第一列CheckBoxField,后几列boundfield,GridView已经绑定好数据库,从数据库中读出数据,GridView下面有一个查看按钮,当我选择一行数据后,弹出一个页面可以查看具体信息,一次只能查看一条数据,现在我的问题是怎样让用户一次只能选择一个CheckBoxField,不管GridView读出多少条数据,不管有没有分页?

------解决方案--------------------
把checkbox绑定js事件实现checkbox的单选


保证单选的js函数:
JScript code

function SetCheckBoxState(id)
{
    var dom=document.getElementsByTagName("INPUT");   //文档中的所有Input元素
    var el=event.srcElement;//触发事件的本元素
    if(el.tagName=="INPUT"&&el.type.toLowerCase()=="checkbox")//如果本元素是checkbox
    {
        for(i=0;i<dom.length;i++)
        {
            if(dom[i].type.toLowerCase()=="checkbox"&&dom[i].id.indexOf(id)>-1)
            {
                //将同一列的所有其它checkbox的checked设为false

                if (el.id!=dom[i].id)
                {
                    dom[i].checked=false;
                }
            }
        }
    }
}