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

GridView的小问题
DataView的行左边有个check当单击时check选中
单击另外一行时上次选中的取消当前行选中

要无刷新的JavaScript实现~

最好有代码,偶是菜鸟,请各位大大多多支持~

------解决方案--------------------
最傻瓜最简单的方法 套个UpdaelPanel 服务端编写 多HAPPY 多简单。。。
------解决方案--------------------
这个搞个radiobuttonlist应该可以。。。
------解决方案--------------------
或者给每行的radio的组取同样的名字。。。
------解决方案--------------------
这个问题,有点与下面这个问题相似,Insus.NET在也是在等待答案:
http://www.blueshop.com.tw/board/show.asp?subcde=BRD200602231927242AS&fumcde=
------解决方案--------------------
JScript code

<script language="javascript"> 
  
var chkCount ='<%=ViewState["count"] %>'*1; 
var selCount = 0;   
function chkCheckBox(chkBox) 
{   
    if(chkBox.checked)
    {   
        selCount = selCount + 1;  
    }  
    if(selCount > 1)
    {
        SetCheckBox(chkBox);
        selCount=1;
    }
             
}      
function SetCheckBox(chkBox) 
{   
    var i;
    var grdCount = document.getElementById('<%=GridView1.ClientID %>');
    for(i=0; i< chkCount; i++) 
    {
        var cb =document.getElementById('GridView1_ctl0'+(i+2)+'_CheckBox1');
        if(cb.checked && cb != chkBox)
        {
            cb.checked=false;
            break;
        }
    }
}   
 </script>

------解决方案--------------------
既然这样,为何要用多选按钮?单选按钮要气死了。哈哈。
------解决方案--------------------
常看到有人问这样的问题,

测试通过.结贴给分吧

HTML code

<script>
 function  CheckSelect()    
         {       
             var dom=document.all;
             var el=event.srcElement;
             
             if(el.tagName=="INPUT"&&el.type.toLowerCase()=="checkbox")
             {
                for(i=0;i<dom.length;i++)
                {
                    if(dom[i].tagName=="INPUT"&&dom[i].type.toLowerCase()=="checkbox")
                    {
                        dom[i].checked=false;
                    }
                }
             }
                el.checked=!el.checked;
         }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:GridView ID="objGridView" runat="server">
                <Columns>
                    <asp:TemplateField HeaderText="ProductName">
                        <ItemTemplate>
                             <asp:CheckBox ID="chk" runat="server" onclick= "javascript:CheckSelect();">
                             </asp:CheckBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

    </form>
</body>
</html>

------解决方案--------------------
同意楼上的~~