【发布时间】:2017-12-31 08:26:45
【问题描述】:
我正在尝试搜索,我的网格显示了 20 条记录的结果。
如果我申请了允许分页为真并且页面大小为 20
然后单击 Grid 中的第二页,我的整个网格正在刷新,并再次向我显示整个网格及其第一页。
如果记录为 20 且页面大小为 10,我如何查看从 11 到 20 的最后 10 条记录
网格的客户端代码
<div id="divApplication" runat="server">
<asp:GridView ID="gvApplication"
runat="server"
AutoGenerateColumns="false"
AllowPaging="true"
AllowSorting="True"
AlternatingRowStyle-CssClass="alt"
PagerStyle-CssClass="pgr"
OnPageIndexChanging="OnPageIndexChanging"
CssClass="table table-bordered table-striped"
PageSize="10" Width="50%">
<Columns>
<asp:TemplateField HeaderText='Application' HeaderStyle-VerticalAlign="Middle">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="chkbox" />
<ItemTemplate>
<asp:Label ID="lblFirstName" runat="server"
att='<%#DataBinder.Eval(Container.DataItem,"ID")%>' Text='<%# SetLinkCodeApplication(Convert.ToInt64(DataBinder.Eval(Container.DataItem,"ID")),DataBinder.Eval(Container.DataItem,"Application").ToString()) %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="3%" HorizontalAlign="left" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
在服务器端代码上用 C# 绑定我的网格
public void fncfillApplication()
{
try
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("Application.xml"));
if (ds.Tables[0].Rows.Count != 0)
{
gvApplication.DataSource = ds;
gvApplication.DataBind();
}
}
catch (Exception ex)
{
ex.Message.ToString();
}
}
protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvApplication.PageIndex = e.NewPageIndex;
this.fncfillApplication();
}
Setlinkcode 用于在编辑模式下绑定我的数据
public string SetLinkCodeApplication(Int64 sId, string sName)
{
string functionReturnValue = null;
try
{
functionReturnValue = "<a href=javascript:fncopenEditPopUpApplication(" + sId + ")>" + sName.Trim() + "</a>";
//return functionReturnValue;
}
catch (Exception ex)
{
throw;
}
return functionReturnValue;
}
我正在使用 Xml Datasource 来绑定数据
【问题讨论】:
-
测试了你的代码。它工作得很好。
-
在搜索时它显示了 20 个结果,但是当我单击第二个索引查看最后 10 条记录时,绑定再次发生并显示所有记录
-
它工作正常,但搜索时比网格填充 20 条记录但如果页面大小为 20 则我无法查看最后 10 条记录
标签: javascript c# asp.net .net xml