一次性取出分页类
来源:互联网 发布:皇冠淘宝店出售 编辑:程序博客网 时间:2024/04/26 21:22
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace BasicAppClass
{
public class PageBar
{
int PageIndex = 1;//页码
int PageCount;
int PageRecordCount = 50;//每页记录数
int StartRecordIndex = 0;
int EndRecordIndex=50;
DataTable dt=new DataTable();
/// <summary>
/// 获取当前页码
/// </summary>
/// <returns>当前页码</returns>
public int GetPageIndex()
{
return this.PageIndex;
}
/// <summary>
/// 设置当前页的页码
/// </summary>
/// <param name="PageIndex">当前页码值</param>
public void SetCurrentPageIndex(int PageIndex)
{
this.PageIndex = PageIndex;
}
/// <summary>
/// 设置每页记录数
/// </summary>
/// <param name="PageRecordCount">页面记录数</param>
public void SetPageRecordCount(int PageRecordCount)
{
this.PageRecordCount = PageRecordCount;
}
/// <summary>
/// 获取总页数
/// </summary>
/// <returns>总页数</returns>
public int GetPageCount()
{
return this.PageCount;
}
/// <summary>
/// 计算总页数
/// </summary>
/// <param name="DataSource">数据源</param>
private void SetPageCount(DataSet DataSource)
{
if(DataSource.Tables[0].Rows.Count%this.PageRecordCount==0)
{
this.PageCount=DataSource.Tables[0].Rows.Count/this.PageRecordCount;
}
else
{
this.PageCount=DataSource.Tables[0].Rows.Count/this.PageRecordCount+1;
}
}
/// <summary>
/// 设置列表头
/// </summary>
/// <param name="ColumnValue">列表的列名数组</param>
public void SetColumn(string[] ColumnValue)
{
for (int i = 0; i < ColumnValue.Length; i++)
{
if (!dt.Columns.Contains(ColumnValue[i]))
{
dt.Columns.Add(ColumnValue[i], typeof(string));
}
}
}
/// <summary>
/// 设置列表头
/// </summary>
/// <param name="ColumnValue">列表的列名数组</param>
public void SetColumn(string[] ColumnValue,int[] ColumnType)
{
for (int i = 0; i < ColumnValue.Length; i++)
{
if (!dt.Columns.Contains(ColumnValue[i]))
{
switch(ColumnType[i])
{
case 1:
dt.Columns.Add(ColumnValue[i], typeof(int));
break;
case 2:
dt.Columns.Add(ColumnValue[i], typeof(double));
break;
case 3:
dt.Columns.Add(ColumnValue[i], typeof(float));
break;
case 4:
dt.Columns.Add(ColumnValue[i], typeof(bool));
break;
case 5:
dt.Columns.Add(ColumnValue[i], typeof(DateTime));
break;
case 6:
dt.Columns.Add(ColumnValue[i], typeof(string));
break;
default:
dt.Columns.Add(ColumnValue[i], typeof(string));
break;
}
}
}
}
/// <summary>
/// 设置页面参数
/// </summary>
/// <param name="RecordCount">总记录数</param>
private void SetPageParam(int RecordCount)
{
this.StartRecordIndex = (this.PageIndex - 1) * this.PageRecordCount;
this.EndRecordIndex = this.PageIndex * this.PageRecordCount - 1;
if (this.EndRecordIndex > RecordCount - 1)
{
this.EndRecordIndex = RecordCount-1;
}
}
/// <summary>
/// 首页
/// </summary>
private void FirstPage()
{
this.PageIndex = 1;
}
/// <summary>
/// 下一页
/// </summary>
private void NextPage()
{
if(this.PageIndex<this.PageCount)
{
this.PageIndex=this.PageIndex+1;
}
}
/// <summary>
/// 上一页
/// </summary>
private void PrePage()
{
if (this.PageIndex > 1)
{
this.PageIndex = this.PageIndex - 1;
}
}
/// <summary>
/// 末页
/// </summary>
private void LastPage()
{
this.PageIndex = this.PageCount;
}
/// <summary>
/// 获取当前页的数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>当前页数据</returns>
public DataTable GetCurrentPageDataSource(DataSet DataSource)
{
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
//dt.Rows.Add(DataSource.Tables[0].Rows[i]);
}
return dt;
}
/// <summary>
/// 获取首页数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>首页数据</returns>
public DataTable GetFirstPageDataSource(DataSet DataSource)
{
FirstPage();
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
//dt.Rows.Add(DataSource.Tables[0].Rows[i]);
}
return dt;
}
/// <summary>
/// 获取下一页的数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>下一页数据</returns>
public DataTable GetNextPageDataSource(DataSet DataSource)
{
SetPageCount(DataSource);
NextPage();
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
}
return dt;
}
/// <summary>
/// 获取上一页的数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>上一页数据</returns>
public DataTable GetPrePageDataSource(DataSet DataSource)
{
SetPageCount(DataSource);
PrePage();
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
}
return dt;
}
/// <summary>
/// 获取末页数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>末页数据</returns>
public DataTable GetLastPageDataSource(DataSet DataSource)
{
LastPage();
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
//dt.Rows.Add(DataSource.Tables[0].Rows[i]);
}
return dt;
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace BasicAppClass
{
public class PageBar
{
int PageIndex = 1;//页码
int PageCount;
int PageRecordCount = 50;//每页记录数
int StartRecordIndex = 0;
int EndRecordIndex=50;
DataTable dt=new DataTable();
/// <summary>
/// 获取当前页码
/// </summary>
/// <returns>当前页码</returns>
public int GetPageIndex()
{
return this.PageIndex;
}
/// <summary>
/// 设置当前页的页码
/// </summary>
/// <param name="PageIndex">当前页码值</param>
public void SetCurrentPageIndex(int PageIndex)
{
this.PageIndex = PageIndex;
}
/// <summary>
/// 设置每页记录数
/// </summary>
/// <param name="PageRecordCount">页面记录数</param>
public void SetPageRecordCount(int PageRecordCount)
{
this.PageRecordCount = PageRecordCount;
}
/// <summary>
/// 获取总页数
/// </summary>
/// <returns>总页数</returns>
public int GetPageCount()
{
return this.PageCount;
}
/// <summary>
/// 计算总页数
/// </summary>
/// <param name="DataSource">数据源</param>
private void SetPageCount(DataSet DataSource)
{
if(DataSource.Tables[0].Rows.Count%this.PageRecordCount==0)
{
this.PageCount=DataSource.Tables[0].Rows.Count/this.PageRecordCount;
}
else
{
this.PageCount=DataSource.Tables[0].Rows.Count/this.PageRecordCount+1;
}
}
/// <summary>
/// 设置列表头
/// </summary>
/// <param name="ColumnValue">列表的列名数组</param>
public void SetColumn(string[] ColumnValue)
{
for (int i = 0; i < ColumnValue.Length; i++)
{
if (!dt.Columns.Contains(ColumnValue[i]))
{
dt.Columns.Add(ColumnValue[i], typeof(string));
}
}
}
/// <summary>
/// 设置列表头
/// </summary>
/// <param name="ColumnValue">列表的列名数组</param>
public void SetColumn(string[] ColumnValue,int[] ColumnType)
{
for (int i = 0; i < ColumnValue.Length; i++)
{
if (!dt.Columns.Contains(ColumnValue[i]))
{
switch(ColumnType[i])
{
case 1:
dt.Columns.Add(ColumnValue[i], typeof(int));
break;
case 2:
dt.Columns.Add(ColumnValue[i], typeof(double));
break;
case 3:
dt.Columns.Add(ColumnValue[i], typeof(float));
break;
case 4:
dt.Columns.Add(ColumnValue[i], typeof(bool));
break;
case 5:
dt.Columns.Add(ColumnValue[i], typeof(DateTime));
break;
case 6:
dt.Columns.Add(ColumnValue[i], typeof(string));
break;
default:
dt.Columns.Add(ColumnValue[i], typeof(string));
break;
}
}
}
}
/// <summary>
/// 设置页面参数
/// </summary>
/// <param name="RecordCount">总记录数</param>
private void SetPageParam(int RecordCount)
{
this.StartRecordIndex = (this.PageIndex - 1) * this.PageRecordCount;
this.EndRecordIndex = this.PageIndex * this.PageRecordCount - 1;
if (this.EndRecordIndex > RecordCount - 1)
{
this.EndRecordIndex = RecordCount-1;
}
}
/// <summary>
/// 首页
/// </summary>
private void FirstPage()
{
this.PageIndex = 1;
}
/// <summary>
/// 下一页
/// </summary>
private void NextPage()
{
if(this.PageIndex<this.PageCount)
{
this.PageIndex=this.PageIndex+1;
}
}
/// <summary>
/// 上一页
/// </summary>
private void PrePage()
{
if (this.PageIndex > 1)
{
this.PageIndex = this.PageIndex - 1;
}
}
/// <summary>
/// 末页
/// </summary>
private void LastPage()
{
this.PageIndex = this.PageCount;
}
/// <summary>
/// 获取当前页的数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>当前页数据</returns>
public DataTable GetCurrentPageDataSource(DataSet DataSource)
{
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
//dt.Rows.Add(DataSource.Tables[0].Rows[i]);
}
return dt;
}
/// <summary>
/// 获取首页数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>首页数据</returns>
public DataTable GetFirstPageDataSource(DataSet DataSource)
{
FirstPage();
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
//dt.Rows.Add(DataSource.Tables[0].Rows[i]);
}
return dt;
}
/// <summary>
/// 获取下一页的数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>下一页数据</returns>
public DataTable GetNextPageDataSource(DataSet DataSource)
{
SetPageCount(DataSource);
NextPage();
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
}
return dt;
}
/// <summary>
/// 获取上一页的数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>上一页数据</returns>
public DataTable GetPrePageDataSource(DataSet DataSource)
{
SetPageCount(DataSource);
PrePage();
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
}
return dt;
}
/// <summary>
/// 获取末页数据
/// </summary>
/// <param name="DataSource">数据源</param>
/// <returns>末页数据</returns>
public DataTable GetLastPageDataSource(DataSet DataSource)
{
LastPage();
SetPageParam(DataSource.Tables[0].Rows.Count);
if (dt != null)
{
dt.Clear();
}
for (int i = this.StartRecordIndex; i <= this.EndRecordIndex; i++)
{
dt.ImportRow(DataSource.Tables[0].Rows[i]);
//dt.Rows.Add(DataSource.Tables[0].Rows[i]);
}
return dt;
}
}
}
- 一次性取出分页类
- ALAssetsLibrary 一次性取出所有图片
- python如何一次性取出多个随机数
- 一次性加载数据,前端分页
- 分页取出下标小方法
- 一次性读取数据的分页控件
- Cursor类取出数据
- dede sql 标签 取出来的列表 实现分页 详解
- dede sql 标签 取出来的列表 实现分页
- 实现分页并提取出来作为模板使用
- 使用Calendar类 取出隔天是周几
- SSM+mybatis数据库实现百万数据分页取出并分页插入Excel中
- 模拟网页分页(注意,这里还是取出来数据库的全部内容,其实应该分页获取)
- 数据库分页处理(取出数据表中从M-N的记录)
- 分类页面:取出类下边的文章
- ExtJS中GridPanel一次性加载500条以上数据(不分页),性能超级差,有时导致浏览器卡死!
- 一次性理清java 中的 类、抽象类、接口、继承、对象
- <property name="annotatedClasses"> 配置实体类,一次性就行
- Visual C++.NET中的字符串转换方法
- 判断数据的JS代码
- 纪念嫦娥一号发射成功
- js按键事件说明
- WinFlash AwdFlash分析
- 一次性取出分页类
- JSF 组件模型
- 关于在OsLoader.exe中写文件的问题
- 树视图
- Trac - Trac Download - Trac下载
- aix常见问题整理
- 逆滲透水與蒸餾水最不能喝
- 体验Minix
- java访问com组件_jacob使用指