利用SQL或存储过程实现GridView分页
来源:互联网 发布:时期数据和时点数据 编辑:程序博客网 时间:2024/05/22 10:39
web控件代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MyBookShop.Models;
using MyBookShop.BLL;
namespace 条件分页
{
public partial class _Default : System.Web.UI.Page
{
private int PageSize = 1;//每页显示1条
private int PageIndex //第几页--属性
{
get { return (int)ViewState["PageIndex"]; }
set { ViewState["PageIndex"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData(1);
//Admin admin1 = new Admin();
//admin1.Name = "dd";
//admin1.Phone = "123";
//Admin admin2 = new Admin();
//admin2.Name = "aa";
//admin2.Phone = "1234";
//List<Admin> list = new List<Admin>();
//list.Add(admin1);
//list.Add(admin2);
//GridView1.DataSource = list;
//GridView1.DataBind();
}
}
private void BindData(int pageIndex)
{
List<Admin> list = AdminManager.GetAdminPages(PageSize, pageIndex);
GridView1.DataSource = list;
GridView1.DataBind();
PageIndex = pageIndex;
Label1.Text = PageIndex.ToString();//显示当前页
Label2.Text = AdminManager.GetAdminPageNum(PageSize).ToString();//显示总共页数
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
/// <summary>
/// 首页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LinkButton1_Click(object sender, EventArgs e)
{
BindData(1);//第一页
}
/// <summary>
/// 上一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LinkButton2_Click(object sender, EventArgs e)
{
if (PageIndex > 1)//判断页码是否大于1,如果大于1,那么就有上一页
{
BindData(PageIndex - 1);
}
else
{
BindData(PageIndex);//如果没有就显示当前页面
}
}
/// <summary>
/// 下一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LinkButton3_Click(object sender, EventArgs e)
{
if (PageIndex < AdminManager.GetAdminPageNum(PageSize))//判断页码是否小于所有页,如果小于1,那么就有下一页
{
BindData(PageIndex +1);
}
else
{
BindData(PageIndex);//如果没有就显示当前页面
}
}
}
}
数据库存储过程代码
create proc proc_AdminPages
@PageIndex int,
@PageSize int
as
declare @begion int,@end int
set @begion=@PageSize*(@pageIndex-1)+1
set @end=@PageSize*@PageIndex
select * from
(select ROW_NUMBER() over(order by id) as RowIndex,*from Admin) as a
where RowIndex between @begion and @end
效果
- 利用SQL或存储过程实现GridView分页
- SQL:利用存储过程实现分页
- 利用SQL未公开的存储过程实现分页
- 利用SQL未公开的存储过程实现分页
- GridView利用分页存储过程实现真正的自定义分页查询
- “GridView”+“ObjectDataSource”+“SQL Server存储过程” 实现数据源存储过程分页功能
- SQL Server通用分页存储过程:利用SQL Server未公开的存储过程实现
- SQL Server通用分页存储过程:利用SQL Server未公开的存储过程实现
- SQL Server通用分页存储过程:利用SQL Server未公开的存储过程实现
- GridView+存储过程实现自定义分页
- GridView+存储过程实现自定义分页
- Datalist;GridView用存储过程实现分页
- GridView+存储过程实现'真分页'
- SQL存储过程实现分页
- 利用SQL的游标存储过程分页
- 利用SQL隐藏的存储过程分页
- 利用存储过程实现数据分页
- Oracle利用存储过程性 实现分页
- c语言文件操作
- Setu(水题)
- [动态规划]5.3.4 Big Barn
- 技术博客地址
- Hibernate 数组的属性配置
- 利用SQL或存储过程实现GridView分页
- JSON插件与json类型的Result
- Chapter08-用户模式下的线程同步
- SQL Server2000 数据库学习导航图
- 动态规划 - 矩阵连乘问题
- 《信息系统开发与管理》——一个菜鸟的读书所感
- poj 1984
- 判断网络传输h264视频流是否丢包
- 文件的输入输出函数