Вторая страница индекса страницы пуста?
Просто чтобы проверить, правильны ли приведенные ниже коды? 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 индекс 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