asp.net - 手动 gridview 分页

标签 asp.net

我正在从数据库中提取 100 条记录中的 10 条并将其放入 gridview(这里没有数据源对象)。

如何启用 gridview 附带的分页?我知道总记录数是 100,我可以用它来激活分页吗?

我知道我可以使用 DataSource 对象轻松完成此操作,但只是想知道就 GridView 而言,我是否可以完全手动完成此操作。

标记

<form id="form1" runat="server">
<div>

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        AllowSorting="True" onpageindexchanging="GridView1_PageIndexChanging" 
        onsorting="GridView1_Sorting">
    </asp:GridView>

</div>
</form>

代码隐藏

protected void Page_Load(object sender, EventArgs e)
{
    GridView1.DataSource = GetCustomers();
    GridView1.DataBind();
}

强文本

最佳答案

试试这个:

protected void Page_Load(object sender, EventArgs e)
{
   if(!Page.IsPostback) {BindData();}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
     GridView1.DataSource = GetCustomers();
     GridView1.PageIndex = e.NewPageIndex;
     GridView1.DataBind();

}

void BindData()
{
   GridView1.DataSource = GetCustomers();
   GridView1.DataBind();

}

您还需要将其添加到 gridview 标记中:

OnPageIndexChanging="GridView1_PageIndexChanging"

关于asp.net - 手动 gridview 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544733/

相关文章:

c# - ASP.NET MVC : 'Extend' Html. TextBox 有条件地具有 CSS 值?

asp.net - 如何在字段之间添加列或更改 SQL 中的现有列?

c# - 如何开发与多个数据库管理系统兼容的 Web 应用程序

asp.net - 在 RadAjax 回调后执行客户端 Javascript

asp.net - StackOverFlow 上的页面查看计数器

c# - 每天处理超过 100,000 张上传图片的大小调整

c# - 编译器错误消息 : CS1519: Invalid token '=' in class, 结构或接口(interface)成员声明

asp.net - IIS/ASP.NET 响应缓存控制 : private for all requests

html - 如何向 ASP.NET 控件添加类?

c# - Windows 身份验证 - 如何使用代码拒绝用户