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; } }}