0

確認するために、以下のコードは正しいですか?SubmitAppraisalGrid.DataBind()?見ようとしたときに2ページ目が空だったからです。または、グリッドビュー内でグリッドビューをバインドしているためでしょうか?「内部」グリッドのバインド時にコードを更新する必要があるかどうかを教えてください。

私のコード:

protected void SubmitAppraisalGrid_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    SubmitAppraisalGrid.PageIndex = e.NewPageIndex;
    SubmitAppraisalGrid.DataBind();
}

設計:

<asp:GridView ID="SubmitAppraisalGrid" runat="server" AutoGenerateColumns="False" BorderWidth="0px" onrowcreated="SubmitAppraisalGrid_RowCreated" ShowHeader="False" style="margin-right: 0px" AllowPaging="True" PageSize="1" OnPageIndexChanging="SubmitAppraisalGrid_PageIndexChanging">
<Columns>
 <asp:TemplateField>
  <ItemTemplate>
    <asp:Label ID="QuestionLbl" runat="server" Text='<%# Bind("Question")%>'></asp:Label>
    <br />
    <br />
<asp:GridView ID="StaffAppraisalGrid" runat="server"AutoGenerateColumns="False" BorderWidth="0px" CellPadding="4" CellSpacing="2">
    <Columns>
    <asp:BoundField DataField="StaffName" HeaderText="Name">
    <HeaderStyle HorizontalAlign="Left" />
    </asp:BoundField>
    <asp:TemplateField HeaderText="Rate">
    <ItemTemplate>
    <asp:RadioButtonList ID="RadioList" runat="server" CellPadding="8" 
    DataSource='<%# Bind("RadioButtonList")%>' RepeatDirection="Horizontal">
    </asp:RadioButtonList>
    </ItemTemplate>
    <HeaderStyle HorizontalAlign="Left" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Remarks">
    <ItemTemplate>
    <asp:TextBox ID="RemarksTbx" runat="server" CssClass="remarkTbx" 
        MaxLength="500" Text='<%# Bind("RemarkTbx")%>' TextMode="MultiLine"></asp:TextBox>
    </ItemTemplate>
    <HeaderStyle HorizontalAlign="Left" />
    </asp:TemplateField>
    </Columns>
</asp:GridView>
<br />
  </ItemTemplate>
 </asp:TemplateField>
</Columns>
</asp:GridView>
4

2 に答える 2

1

マークアップを確認してください。型指定されたデータ ソースを使用していません。データグリッドのデータバインドイベントを処理している場合は、それをコードに入れます。それ以外の場合は、PageIndexChangingイベントにデータソースを追加します..

protected void SubmitAppraisalGrid_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            SubmitAppraisalGrid.PageIndex = e.NewPageIndex;
            SubmitAppraisalGrid.DataSource = (SomeDataSource that you are using);
            SubmitAppraisalGrid.DataBind();
        }

GridView.PageIndexChanging イベントを参照してください。

于 2012-03-16T06:34:53.460 に答える