在asp.net的gridview中默认选择标题和项目复选框

时间:2012-01-18 10:18:17

标签: asp.net

我有带有标题和项目复选框的gridview。当我选择标题复选框时,我的代码能够选择所有项目复选框。当我取消选择标题复选框时,我的代码可以取消选中所有项目复选框。

这里的问题是我的页面加载时(意味着第一次加载网格时)默认情况下应选择标题和项目复选框。我们可以这样做吗。

2 个答案:

答案 0 :(得分:0)

在Gridview中使用RowDataBound事件

protected void GridViewName_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row .RowType == DataControlRowType .DataRow )
        {
             //Your Code
        }
    }

答案 1 :(得分:0)

在网格视图列中,像这样写

<Columns>
                                <asp:TemplateField>
                                    <HeaderTemplate>
                                        <asp:CheckBox ID="chkhead"  runat="server" onclick="SelectAllCheckboxes(this)" ClientIDMode="Static" />
                                    </HeaderTemplate>
                                    <ItemTemplate>
                                        <asp:CheckBox ID="chksub"  runat="server" ClientIDMode="Static"  />
                                    </ItemTemplate>
                                </asp:TemplateField>

之后编写Java脚本函数 SelectAllCheckboxes

// select all check boxes

function SelectAllCheckboxes(spanChk) {
    // Added as ASPX uses SPAN for checkbox
    var oItem = spanChk.children;
    var theBox = (spanChk.type == "checkbox") ?
        spanChk : spanChk.children.item[0];
    xState = theBox.checked;
    elm = theBox.form.elements;
    for (i = 0; i < elm.length; i++)
        if (elm[i].type == "checkbox" && elm[i].id != theBox.id) {
            //elm[i].click();
            if (!elm[i].disabled) {
                if (elm[i].checked != xState)
                    elm[i].click();
            }
            //elm[i].checked=xState;
        }
    }

写完.cs页面加载事件后首先绑定网格视图并 chheader.checked = true;