1.图列展示

2.分页控件代码

Paging.Designer.cs

 partial class Paging
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null; /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
} #region 组件设计器生成的代码 /// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Paging));
this.bindingNavigator = new System.Windows.Forms.BindingNavigator(this.components);
this.btnFirst = new System.Windows.Forms.ToolStripButton();
this.btnPrev = new System.Windows.Forms.ToolStripButton();
this.btnNext = new System.Windows.Forms.ToolStripButton();
this.btnLast = new System.Windows.Forms.ToolStripButton();
this.toolStripLabel6 = new System.Windows.Forms.ToolStripLabel();
this.toolStripLabel4 = new System.Windows.Forms.ToolStripLabel();
this.txtCurrentPage = new System.Windows.Forms.ToolStripTextBox();
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
this.btnGo = new System.Windows.Forms.ToolStripButton();
this.toolStripLabel5 = new System.Windows.Forms.ToolStripLabel();
this.toolStripLabel2 = new System.Windows.Forms.ToolStripLabel();
this.lblPageCount = new System.Windows.Forms.ToolStripLabel();
this.toolStripLabel3 = new System.Windows.Forms.ToolStripLabel();
this.lblMaxPage = new System.Windows.Forms.ToolStripLabel();
((System.ComponentModel.ISupportInitialize)(this.bindingNavigator)).BeginInit();
this.bindingNavigator.SuspendLayout();
this.SuspendLayout();
//
// bindingNavigator
//
this.bindingNavigator.AddNewItem = null;
this.bindingNavigator.CountItem = null;
this.bindingNavigator.DeleteItem = null;
this.bindingNavigator.Dock = System.Windows.Forms.DockStyle.Bottom;
this.bindingNavigator.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btnFirst,
this.btnPrev,
this.btnNext,
this.btnLast,
this.toolStripLabel6,
this.toolStripLabel4,
this.txtCurrentPage,
this.toolStripLabel1,
this.btnGo,
this.toolStripLabel5,
this.toolStripLabel2,
this.lblPageCount,
this.toolStripLabel3,
this.lblMaxPage});
this.bindingNavigator.Location = new System.Drawing.Point(, );
this.bindingNavigator.MoveFirstItem = null;
this.bindingNavigator.MoveLastItem = null;
this.bindingNavigator.MoveNextItem = null;
this.bindingNavigator.MovePreviousItem = null;
this.bindingNavigator.Name = "bindingNavigator";
this.bindingNavigator.PositionItem = null;
this.bindingNavigator.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
this.bindingNavigator.Size = new System.Drawing.Size(, );
this.bindingNavigator.TabIndex = ;
this.bindingNavigator.Text = "bindingNavigator1";
//
// btnFirst
//
this.btnFirst.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.btnFirst.Image = ((System.Drawing.Image)(resources.GetObject("btnFirst.Image")));
this.btnFirst.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnFirst.Name = "btnFirst";
this.btnFirst.Size = new System.Drawing.Size(, );
this.btnFirst.Text = "首页";
this.btnFirst.Click += new System.EventHandler(this.btnFirst_Click);
//
// btnPrev
//
this.btnPrev.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.btnPrev.Image = ((System.Drawing.Image)(resources.GetObject("btnPrev.Image")));
this.btnPrev.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnPrev.Name = "btnPrev";
this.btnPrev.Size = new System.Drawing.Size(, );
this.btnPrev.Text = "上页";
this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click);
//
// btnNext
//
this.btnNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.btnNext.Image = ((System.Drawing.Image)(resources.GetObject("btnNext.Image")));
this.btnNext.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnNext.Name = "btnNext";
this.btnNext.Size = new System.Drawing.Size(, );
this.btnNext.Text = "下页";
this.btnNext.Click += new System.EventHandler(this.btnNext_Click);
//
// btnLast
//
this.btnLast.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.btnLast.Image = ((System.Drawing.Image)(resources.GetObject("btnLast.Image")));
this.btnLast.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnLast.Name = "btnLast";
this.btnLast.Size = new System.Drawing.Size(, );
this.btnLast.Text = "未页";
this.btnLast.Click += new System.EventHandler(this.btnLast_Click);
//
// toolStripLabel6
//
this.toolStripLabel6.Name = "toolStripLabel6";
this.toolStripLabel6.Size = new System.Drawing.Size(, );
this.toolStripLabel6.Text = " ";
//
// toolStripLabel4
//
this.toolStripLabel4.Name = "toolStripLabel4";
this.toolStripLabel4.Size = new System.Drawing.Size(, );
this.toolStripLabel4.Text = "第";
//
// txtCurrentPage
//
this.txtCurrentPage.Name = "txtCurrentPage";
this.txtCurrentPage.Size = new System.Drawing.Size(, );
//
// toolStripLabel1
//
this.toolStripLabel1.Name = "toolStripLabel1";
this.toolStripLabel1.Size = new System.Drawing.Size(, );
this.toolStripLabel1.Text = "页";
//
// btnGo
//
this.btnGo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.btnGo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold);
this.btnGo.Image = ((System.Drawing.Image)(resources.GetObject("btnGo.Image")));
this.btnGo.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnGo.Name = "btnGo";
this.btnGo.Size = new System.Drawing.Size(, );
this.btnGo.Text = "GO";
this.btnGo.Click += new System.EventHandler(this.btnGo_Click);
//
// toolStripLabel5
//
this.toolStripLabel5.Name = "toolStripLabel5";
this.toolStripLabel5.Size = new System.Drawing.Size(, );
this.toolStripLabel5.Text = " ";
//
// toolStripLabel2
//
this.toolStripLabel2.Name = "toolStripLabel2";
this.toolStripLabel2.Size = new System.Drawing.Size(, );
this.toolStripLabel2.Text = "共";
//
// lblPageCount
//
this.lblPageCount.Name = "lblPageCount";
this.lblPageCount.Size = new System.Drawing.Size(, );
this.lblPageCount.Text = "lblPageCount";
//
// toolStripLabel3
//
this.toolStripLabel3.Name = "toolStripLabel3";
this.toolStripLabel3.Size = new System.Drawing.Size(, );
this.toolStripLabel3.Text = "页";
//
// lblMaxPage
//
this.lblMaxPage.Name = "lblMaxPage";
this.lblMaxPage.Size = new System.Drawing.Size(, );
this.lblMaxPage.Text = "lblMaxPage";
//
// Paging
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.bindingNavigator);
this.Name = "Paging";
this.Size = new System.Drawing.Size(, );
((System.ComponentModel.ISupportInitialize)(this.bindingNavigator)).EndInit();
this.bindingNavigator.ResumeLayout(false);
this.bindingNavigator.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout(); } #endregion public System.Windows.Forms.BindingNavigator bindingNavigator;
private System.Windows.Forms.ToolStripButton btnFirst;
private System.Windows.Forms.ToolStripButton btnPrev;
private System.Windows.Forms.ToolStripButton btnNext;
private System.Windows.Forms.ToolStripButton btnLast;
private System.Windows.Forms.ToolStripLabel toolStripLabel6;
private System.Windows.Forms.ToolStripLabel toolStripLabel4;
private System.Windows.Forms.ToolStripTextBox txtCurrentPage;
private System.Windows.Forms.ToolStripLabel toolStripLabel1;
private System.Windows.Forms.ToolStripButton btnGo;
private System.Windows.Forms.ToolStripLabel toolStripLabel5;
private System.Windows.Forms.ToolStripLabel toolStripLabel2;
private System.Windows.Forms.ToolStripLabel lblPageCount;
private System.Windows.Forms.ToolStripLabel toolStripLabel3;
private System.Windows.Forms.ToolStripLabel lblMaxPage;
}

Paging.cs

  /// <summary>
/// 申明委托
/// </summary>
/// <param name="e"></param>
/// <returns></returns>
public delegate int EventPagingHandler(EventPagingArg e);
public partial class Paging : UserControl
{
public Paging()
{
InitializeComponent();
}
public event EventPagingHandler EventPaging;
/// <summary>
/// 每页显示记录数
/// </summary>
private int _pageSize = ;
/// <summary>
/// 每页显示记录数
/// </summary>
public int PageSize
{
get { return _pageSize; }
set
{
_pageSize = value;
GetPageCount();
}
} private int _nMax = ;
/// <summary>
/// 总记录数
/// </summary>
public int NMax
{
get { return _nMax; }
set
{
_nMax = value;
GetPageCount();
}
} private int _pageCount = ;
/// <summary>
/// 页数=总记录数/每页显示记录数
/// </summary>
public int PageCount
{
get { return _pageCount; }
set { _pageCount = value; }
} private int _pageCurrent = ;
/// <summary>
/// 当前页号
/// </summary>
public int PageCurrent
{
get { return _pageCurrent; }
set { _pageCurrent = value; }
}
private DataTable _dataSource;
/// <summary>
/// 数据源
/// </summary>
public DataTable DataSource
{
get { return _dataSource; }
set
{
_dataSource = value;
}
}
public BindingNavigator ToolBar
{
get { return this.bindingNavigator; }
}
private void GetPageCount()
{
if (this.NMax > )
{
this.PageCount = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(this.NMax) / Convert.ToDouble(this.PageSize)));
}
else
{
this.PageCount = ;
}
}
/// <summary>
/// 翻页控件数据绑定的方法
/// </summary>
public void Bind()
{
if (this.EventPaging != null)
{
this.NMax = this.EventPaging(new EventPagingArg(this.PageCurrent));
} if (this.PageCurrent > this.PageCount)
{
this.PageCurrent = this.PageCount;
}
if (this.PageCount == )
{
this.PageCurrent = ;
}
lblPageCount.Text = this.PageCount.ToString();
this.lblMaxPage.Text = "共" + this.NMax.ToString() + "条记录";
this.txtCurrentPage.Text = this.PageCurrent.ToString(); if (this.PageCurrent == )
{
this.btnPrev.Enabled = false;
this.btnFirst.Enabled = false;
}
else
{
btnPrev.Enabled = true;
btnFirst.Enabled = true;
} if (this.PageCurrent == this.PageCount)
{
this.btnLast.Enabled = false;
this.btnNext.Enabled = false;
}
else
{
btnLast.Enabled = true;
btnNext.Enabled = true;
} if (this.NMax == )
{
btnNext.Enabled = false;
btnLast.Enabled = false;
btnFirst.Enabled = false;
btnPrev.Enabled = false;
}
} private void btnFirst_Click(object sender, EventArgs e)
{
PageCurrent = ;
this.Bind();
} private void btnPrev_Click(object sender, EventArgs e)
{
PageCurrent -= ;
if (PageCurrent <= )
{
PageCurrent = ;
}
this.Bind();
} private void btnNext_Click(object sender, EventArgs e)
{
this.PageCurrent += ;
if (PageCurrent > PageCount)
{
PageCurrent = PageCount;
}
this.Bind();
} private void btnLast_Click(object sender, EventArgs e)
{
PageCurrent = PageCount;
this.Bind();
} private void btnGo_Click(object sender, EventArgs e)
{
if (this.txtCurrentPage.Text != null && txtCurrentPage.Text != "")
{
if (Int32.TryParse(txtCurrentPage.Text, out _pageCurrent))
{
this.Bind();
}
else
{
MessageBox.Show("输入数字格式错误!");
}
}
} private void txtCurrentPage_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
this.Bind();
}
} }
/// <summary>
/// 自定义事件数据基类
/// </summary>
public class EventPagingArg : EventArgs
{
private int _intPageIndex;
public EventPagingArg(int PageIndex)
{
_intPageIndex = PageIndex;
}
}

使用:
PagingHelper

 class PagingHelper
{ private int _PageSize = ;
private int _PageIndex = ;
private int _TotalCount = ;
private string _TableName;//表名
private string _QueryFieldName = "*";//表字段FieldStr
private string _OrderStr = string.Empty; //排序_SortStr
private string _QueryCondition = string.Empty;//查询的条件 RowFilter
private string _PrimaryKey = string.Empty;//主键 /// <summary>
/// 显示页数
/// </summary>
public int PageSize
{
get
{
return _PageSize; }
set
{
_PageSize = value;
}
}
/// <summary>
/// 当前页
/// </summary>
public int PageIndex
{
get
{
return _PageIndex;
}
set
{
_PageIndex = value;
}
} /// <summary>
/// 总记录数
/// </summary>
public int TotalCount
{
get
{
return _TotalCount;
}
}
/// <summary>
/// 表名,包括视图
/// </summary>
public string TableName
{
get
{
return _TableName;
}
set
{
_TableName = value;
}
}
/// <summary>
/// 表字段FieldStr
/// </summary>
public string QueryFieldName
{
get
{
return _QueryFieldName;
}
set
{
_QueryFieldName = value;
}
}
/// <summary>
/// 排序字段
/// </summary>
public string OrderStr
{
get
{
return _OrderStr;
}
set
{
_OrderStr = value;
}
}
public DataTable QueryDataTable()
{
//这里调用存储过程实现数据读取
//展示就用本地测试数据
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
_TotalCount = ; int index = PageIndex == ? : PageIndex * PageSize;
for (int i = index; i < index+PageSize; i++)
{
dt.Rows.Add(i, "Name" + i.ToString());
}
dt.AcceptChanges(); return dt;
}
}

测试页面调用:

 private void Form1_Load(object sender, EventArgs e)
{
this.paging1.PageCurrent = ;
this.paging1.Bind();
} private int paging1_EventPaging(EventPagingArg e)
{
return Bind(this.paging1.PageCurrent);
}
private int Bind(int pagecurrent)
{
PagingHelper phelper = new PagingHelper();
phelper.PageIndex = pagecurrent;
paging1.PageSize = ;
DataTable dt = phelper.QueryDataTable();
this.dataGridView1.DataSource = dt.DefaultView;
return phelper.TotalCount;
}

Winform 分页的更多相关文章

  1. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  2. winform 分页控件

    http://www.cnblogs.com/liuyunsheng/p/4853387.html http://www.cnblogs.com/wuhuacong/archive/2011/07/0 ...

  3. 开发框架模块视频系列(2)-Winform分页控件介绍

    在软件开发过程中,为了节省开发时间,提高开发效率,统一用户处理界面,尽可能使用成熟.功能强大的分页控件,这款Winform环境下的分页控件,集成了数据分页.内容提示.数据打印.数据导出.表头中文转义等 ...

  4. 类似web风格的 Winform 分页控件

    背景 最近做一个Winform的小程序,需要用到分页,由于之前一直在用 TonyPagerForWinForm.dll ,但该库没有源代码,网上找的也不全面,索性就准备自己改造一个.在园子里翻了一下, ...

  5. Winform分页控件

    设计界面: 控件代码: using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...

  6. [原创]WinForm分页控件制作

    先简单说一下思路: 1.做一个分页控件的导航类,即记录总页数.当前页.每页记录数,下一页.上一页.跳转等操作的页数变更. class PageNavigation{/// <summary> ...

  7. winform分页管理

    注意:其中可能用到部分自定义的扩展方法,在使用中需自己修改一下 /// <summary> /// 分页管理 /// </summary> public class Pagin ...

  8. winform 分页 分类: WinForm 2014-05-16 15:30 257人阅读 评论(0) 收藏

    说明:(1)如果对分页的感兴趣的话,可以看一下我传的存储过程("SQL 存储过程 分页")               (2)分页,第一页.上一页,下一页.最后一页只调用点击(cl ...

  9. 【NET】Winform分页控件初探

    public partial class WinFormPager : UserControl { ; /// <summary> /// 当前页 /// </summary> ...

  10. DEV Winform分页用户组件

    资源部分在QQ群:616945527基于服务端数据分页,你也可以修改成本地分页.调用方法添加用户控件到窗体 public int curPage = 1;public int pageSize = 1 ...

随机推荐

  1. 3.在vm上安装centos 7

    在vm上安装centos 7 1.文件 → 新建虚拟机 3.选择安装Linux系统 4. 虚拟机命名,并选择安装的文件夹 5.选择分配的处理器 6.使用网络地址转换 7.默写选项 9.新建虚拟机 10 ...

  2. CSS之Important

    1.important只能用于直接选中,不能用于间接选中 2.通配符选择器选中的标签也是直接选中的 3.!important只能提升被指定的属性的优先级 ,其他属性的优先级不会被提升 4.!impor ...

  3. ORM下实现继承的三种方式(TPH TPC TPT)

    TPH(Table Per Hierarchy):所有的数据都放在同一个表格内,但是使用辨别标志(Discriminator)的方式来区分 TPC(Table Per Concrete-Type):由 ...

  4. java ajax长连接请求服务器数据

    Servlet 3.0笔记之异步请求Comet推送长轮询(long polling)篇 Comet另一种形式为长轮询(long polling),客户端会与服务器建立一个持久的连接,直到服务器端有数据 ...

  5. 《你不知道的JavaScript》上卷——第1章

    知识点总结 1.什么是作用域? 作用域是根据名称查找变量的一套规则. 2.通常将JavaScript归类为“动态”或“解释执行”语言,但事实上它是一门编译语言. 3.编译 在传统编译语言的流程中,程序 ...

  6. 漫说安全|智能的云WAF,开挂的Web防御

    “漫说安全”是我们推出的一个新栏目,以简洁明了的形式展现高深晦涩的云安全. 今天我们要讲的是智能的云WAF到底有啥“本领”,答案就在漫画里^_^ 漫画看完后估计你还会有些小疑问,不要着急,安全君特意准 ...

  7. 可持久化线段树(主席树)——静态区间第k大

    主席树基本操作:静态区间第k大 #include<bits/stdc++.h> using namespace std; typedef long long LL; ,MAXN=2e5+, ...

  8. springboot让内置tomcat失效

    一.POM(去除内嵌tomcat后,需要添加servlet依赖) <dependency> <groupId>org.springframework.boot</grou ...

  9. 转-Pycharm中运行Python代码的几种方式

    转自:Pycharm中运行Python代码的几种方式 在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式 ...

  10. Windows 系统文件夹目录挂载到 Linux服务器中

    在Windows系统文件上传到Linux服务器时有时候很麻烦,因为Linux无界面的系统不像Windows系统一样,可以直接复制粘贴,下面方法可以解决Windows系统文件拷贝到Linux服务器. 1 ...