如果选中其下任何一项检查,如何检查该复选框

时间:2014-11-12 09:59:15

标签: c# asp.net checkbox datagridview

我正在开发一个应用程序,它由与另一个dataGrid嵌套的datagrid组成,子网格有多个列,每行有一个复选框作为模板列,在父数据网格中,每行都有一个复选框。

我的要求: 如果在父网格中检查父网格中的第一行复选框,则在其尊重的子网格中,所有复选框都应选中,如果取消选中“父级”复选框,然后其子级应取消选择。如果选中一个或多个,则选择所有记录的子网格中的.Incase父网格复选框应部分检查

这是我的aspx代码:

 <asp:DataGrid ID="DG" runat="server" BorderWidth="1px" BorderColor="#FE9B00"
    BorderStyle="Solid" BackColor="White" Font-Names="Verdana" Font-Size="XX-Small"
    AutoGenerateColumns="False" ShowFooter="FALSE" CellPadding="3" align="center"
    Width="700px" OnItemDataBound="DG_ItemDataBound" OnItemCommand="dgRecovery_ItemCommand">

    <Columns>
        <asp:TemplateColumn>
            <ItemTemplate>
                <asp:LinkButton ID="chkHeader" runat="server" CommandName="SelectAll" Text="selectAll" ForeColor="Blue" />
                <asp:ImageButton ID="imgPlusMinusSign1" runat="server" Width="15px" Height="15px" Visible="false"
                    CommandName="CmdQuoteChargeDetails" ImageUrl="~/AppImages/Plus.gif"></asp:ImageButton>
            </ItemTemplate>
        </asp:TemplateColumn>
        <asp:BoundColumn DataField="Name" HeaderText="CFS Name" SortExpression="Name"></asp:BoundColumn>
        <asp:TemplateColumn HeaderText="Amount in Base">
            <ItemTemplate>
                <asp:TextBox ReadOnly="true" BorderStyle="None" Width="100px" Font-Size="10px" ID="TXTLinerAmountMain"
                    Text='<%# DataBinder.Eval(Container, "DataItem.Amount") %>' runat="server"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateColumn>
        <asp:TemplateColumn>
            <ItemTemplate>
                <asp:PlaceHolder ID="VoucherDetailsChargeId" runat="server" Visible="False"></td> </tr>
                    <tr>
                        <td width="9">&nbsp;
                        </td>
                        <td colspan="11">
                            <asp:DataGrid ID="dg_VCD" runat="server" DataSource='<%#GetCFSDetailsO( (String) DataBinder.Eval(Container.DataItem, "Name") ) %>'
                                AutoGenerateColumns="False" BorderColor="Tan" BorderWidth="1px" BackColor="LightGoldenrodYellow"
                                Width="100%" CellPadding="0" GridLines="Both" ForeColor="Black"
                                OnItemDataBound="dg_VCDO_ItemDataBound" OnItemCommand="dg_VCDItemCommand">
                                <FooterStyle ForeColor="#000066" Height="20px" BackColor="White"></FooterStyle>
                                <SelectedItemStyle Font-Bold="True" ForeColor="Black" BackColor="Snow"></SelectedItemStyle>
                                <EditItemStyle BackColor="AntiqueWhite"></EditItemStyle>
                                <AlternatingItemStyle BackColor="Snow"></AlternatingItemStyle>
                                <ItemStyle Height="20px" ForeColor="#000066" BackColor="Snow"></ItemStyle>
                                <HeaderStyle Font-Size="XX-Small" Font-Bold="True" Height="20px" ForeColor="white" BackColor="orange"></HeaderStyle>
                                <Columns>
                                    <asp:BoundColumn DataField="mODC_NUPKId" HeaderText="mFRL_NUPKId" Visible="False"></asp:BoundColumn>
                                    <asp:TemplateColumn>
                                        <HeaderStyle Width="5%"></HeaderStyle>
                                        <ItemTemplate>
                                            <asp:CheckBox ID="CHKJobsOR" onclick="javascript:CalculateTotalORCost(this);" runat="server" AutoPostBack="true"></asp:CheckBox>
                                        </ItemTemplate>
                                    </asp:TemplateColumn>
                                    <asp:BoundColumn DataField="CostSheetNo" HeaderText="CostSheetNo" SortExpression="CostSheetNo"></asp:BoundColumn>
                                </Columns>
                            </asp:DataGrid>
                            <br />
                            <br />
                            <td height="25"></td>
                </asp:PlaceHolder>
            </ItemTemplate>
            <HeaderStyle Width="0px" />
        </asp:TemplateColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Left" ForeColor="#000066" BackColor="White" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>

这是我需要的视觉效果: enter image description here 任何人可以帮助替换标题中的复选框的链接按钮,并进行部分检查(父复选框) - 检查任何一个检查(子复选框) check(Parent) - 检查所有记录(子网格) 取消选中(父) - 选择了一条记录。

提前致谢。

0 个答案:

没有答案