0

ネストされたグリッドビューがあります。内側のグリッドビューには、各行に 1 つのチェックボックスを含む列があります。

<asp:GridView ID="OuterGridView" runat="server" Width="80%" AutoGenerateColumns="false"
DataKeyNames="PartnerID,PromotionId" CssClass="GridViewCss">
<Columns>
    <asp:TemplateField HeaderText="Header1" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left"
        ItemStyle-Width="20%">
        <ItemTemplate>
            <asp:LinkButton ID="Edit" Text='<%#Eval("Org") %>'
                runat="server"></asp:LinkButton>
            <img alt="" style="cursor: pointer" src="images/ex.gif" />
            <div style="overflow: scroll; display: none; height: 100px;">
                <asp:GridView ID="InnerGridView" runat="server" AutoGenerateColumns="false"
                   ShowHeader="false">
                    <Columns>
                        <asp:TemplateField ItemStyle-HorizontalAlign="Left">
                            <ItemTemplate>
                                <asp:CheckBox Text='<%#Eval("School") %>'
                                    ID="CheckBoxInner" Checked='<%#Eval("IsActive") %>' runat="server"
                                    ViewStateMode="Enabled" EnableViewState="true" />
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </div>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Header2" HeaderStyle-HorizontalAlign="Left"
        ItemStyle-HorizontalAlign="Left" ItemStyle-Width="30%">
        <ItemTemplate>
            <asp:CheckBox Text="All" ID="CheckBoxOuter" runat="server" OnCheckedChanged="GridViewOuterCheckedChange"
                AutoPostBack="true" EnableViewState="true" />
        </ItemTemplate>
    </asp:TemplateField>
</Columns>
</asp:GridView>

!ispostback のときにグリッドビューをバインドします。内側のチェックボックスのいずれかをチェックし、保存ボタンで保存しようとすると、ボタンクリックイベントで、チェックボックスの適切な値が取得されます。しかし、ckeckbox (Checked=True) のいずれかをオフにすると、その特定のチェックボックスの保存ボタン クリック イベントで; チェックされた値を False ではなく True として取得します。

4

1 に答える 1

0

グリッドを外側にバインドしてみてください!ispostback

于 2013-01-08T06:49:25.900 に答える