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

datagrid内嵌checkbox选中及全选的实现
datagrid内嵌checkbox选中及全选的实现,各位大侠帮帮忙.感激不尽!
以后有恩抱恩,没恩送分.

------解决方案--------------------
http://www.aspxboy.com/private/2780/default.aspx
------解决方案--------------------
HTML code

  function selectAll(obj)
    {
        var theTable  = obj.parentElement.parentElement.parentElement;
        var i;
        var j = obj.parentElement.cellIndex;
        
        for(i=0;i<theTable.rows.length;i++)
        {
            var objCheckBox = theTable.rows[i].cells[j].firstChild;
            if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
        }
    }

<ItemTemplate>
 <asp:CheckBox ID="chbCheck" runat="server" />
</ItemTemplate>
<HeaderTemplate>
 <asp:CheckBox ID="chbCheckHeader"  onclick="selectAll(this);" AutoPostBack="false" runat="server" />
</HeaderTemplate>

------解决方案--------------------
你可以分別在前台和后台實現。
關于后台的在此先放一下,討論一下如何在前台操作.
這個效果可以參考很多网站。比如迅雷的首頁,分別作了"全選(全部選中)"和"全消(全部不選)"兩個按鈕.
這段代碼的實現可以參考一下:
JScript code


function checkAll(checkedValue)
{
    for(var i=0;i<document.getElementsByName("chk").length;i++)
    {
        var thisCheckBox=document.getElementsByName("chk")[i];
        thisCheckBox.checked=checkedValue;
    }
}

------解决方案--------------------
<asp:DataGrid ID="dgCart" runat="server" AutoGenerateColumns="False" Font-Size="8pt"
CellPadding="4" Width="98%" ForeColor="#333333" GridLines="None">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" BackColor="#5D7B9D"
Font-Bold="True" Height="25px" ForeColor="White"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<center>
<asp:CheckBox ID="chkProductID" runat="server" />
</center>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="PName" HeaderText="商品名称" />
<asp:HyperLinkColumn DataNavigateUrlField="pid" DataNavigateUrlFormatString="../shop/product.aspx?pID={0}"
HeaderText="查看" Text="查看"></asp:HyperLinkColumn>
<asp:BoundColumn DataField="PPrice" HeaderText="单价" />
<asp:TemplateColumn HeaderText="数量">
<ItemTemplate>
<asp:TextBox ID="txtCount" Width="50" runat="