asp.net网格视图复选框

时间:2014-11-24 11:48:56

标签: asp.net gridview

我有网格视图

<cc1:GridView ID="gvMenu" runat="server" AllowPaging="False" AllowSorting="False"
                            AutoGenerateColumns="False" CssClass="mGrid" Width="100%" DataKeyNames="ID,MenuName"
                            DataSourceID="OdsGetMenuDetails" OnRowDataBound="gvMenu_RowDataBound">
  <%--OnRowDataBound="gvAddLeave_RowDataBound"--%>
  <AlternatingRowStyle CssClass="alt" />
  <HeaderStyle CssClass="GridViewHeaderStyle" />
  <PagerStyle CssClass="pgr" />
  <RowStyle Wrap="false" />
  <EmptyDataRowStyle BackColor="#edf5ff" Height="300px" HorizontalAlign="Center" VerticalAlign="Middle" />
  <EmptyDataTemplate>
    No Records Found
  </EmptyDataTemplate>
  <Columns>
    <asp:TemplateField HeaderText="Sr.No">
      <ItemTemplate>
        <%# (gvMenu.PageIndex * gvMenu.PageSize) + Container.DataItemIndex + 1%>
      </ItemTemplate>
      <HeaderStyle CssClass="style4" ForeColor="White" Width="5%" />
      <ItemStyle CssClass="style4" />
    </asp:TemplateField>
    <asp:BoundField DataField="ID" HeaderText="Menu ID" SortExpression="ID" Visible="false">
      <HeaderStyle CssClass="style4" Width="100px" HorizontalAlign="Left" ForeColor="White" />
      <ItemStyle CssClass="style4" />
    </asp:BoundField>
    <asp:BoundField DataField="MenuName" HeaderText="MenuName" SortExpression="MenuName">
      <HeaderStyle CssClass="style4" Width="80%" HorizontalAlign="Left" ForeColor="White" />
      <ItemStyle CssClass="style4" />
    </asp:BoundField>
    <asp:TemplateField HeaderText="View">
      <HeaderTemplate>
        <asp:CheckBox ID="chkHeaderApprove" runat="server" Text="View" onclick="javascript:SelectAllCheckboxes1(this);" />
      </HeaderTemplate>
      <ItemTemplate>
        <asp:CheckBox ID="chkApprove" runat="server" Checked='<%# Eval("ViewStatus").ToString().Trim() == "1" ? true : false %>' />
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
</cc1:GridView>

使用此objectDataSource

<asp:ObjectDataSource ID="OdsGetMenuDetails" runat="server" SelectMethod="GetMenuName"
                            EnablePaging="true" TypeName="AdsWorksDBMenuAuthorizationDAL" StartRowIndexParameterName="startIndex"
                            SortParameterName="sortBy" MaximumRowsParameterName="pageSize" SelectCountMethod="GetMenuCount">
</asp:ObjectDataSource>

我希望在检查完所有<asp:CheckBox ID="chkHeaderApprove" >后检查<asp:CheckBox ID="chkApprove">

我无法做到这一点请帮助我一些......

1 个答案:

答案 0 :(得分:0)

添加:

<asp:CheckBox ID="chkApprove" runat="server" Checked='<%# Eval("ViewStatus").ToString().Trim() == "1" ? true : false %>'  OnCheckedChanged="chkApprove_CheckChanged"/>

在代码背后:

protected void chkApprove_CheckChanged(object sender, EventArgs e)
    {
        CheckBox cb = (CheckBox)sender;
        GridView g1 = (GridView)cb.Parent.Parent;
        foreach (GridViewRow item in g1.Rows)
        {
            CheckBox currentCheckBox = (CheckBox)item.FindControl("chkApprove");
            if (currentCheckBox.Checked != true)
                return;
        }
        CheckBox chkHeaderApprove = (CheckBox)g1.FindControl("chkHeaderApprove");
        chkHeaderApprove.Checked = true;
    }

这应该工作..没有检查。无论如何客户端应该更好,为此...这只是一个简单的服务器端解决方案。