Вторая страница индекса страницы пуста?

Просто чтобы проверить, правильны ли приведенные ниже коды? SubmitAppraisalGrid.DataBind()? Это потому, что моя вторая страница была пустой, когда я пытался их просмотреть. Или может, потому что я связываю gridview внутри gridview? Пожалуйста, скажите мне, если мне нужно обновить мой код для привязки моей "внутренней" сетки.

Мой код:

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>

2 ответа

Решение

Проверьте свою разметку, вы не используете какой-либо типизированный источник данных. если вы обрабатываете событие dataagrid для databind, поместите его в код, иначе добавьте источник данных в PageIndexChanging событие также..

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

См. Событие GridView.PageIndexChanging.

Я решил это так:

Внутри Gridview индекс Canging

{
    GridView1.PageIndex = e.NewPageIndex;

    SqlCommand cmd = new SqlCommand("Select * from Emp_Data ORDER BY [ID] DESC", con);

    SqlDataAdapter DA1 = new SqlDataAdapter(cmd);
    DA1.Fill(DT1);

    GridView1.DataSource = DT1;
    GridView1.DataBind();
}

Используйте тот же Query, который использовал в Databind

Другие вопросы по тегам