当前位置:  编程技术>.net/c#/asp.net

Windows Form 分页 具体实现

    来源: 互联网  发布时间:2014-10-25

    本文导语:  代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.Common;using System.Collections; namespace Common{    public partial class WinFormPag...

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Common;
using System.Collections;

namespace Common
{
    public partial class WinFormPager : UserControl
    {
        public event EventHandler PageChanged; //事件:控件的当前页码发生变更。 
        private int pageSize;
        private int curPage;
        private int pageCount;
        public WinFormPager()
        {
            InitializeComponent(); 
        }

        private void WinFormPager_Load(object sender, EventArgs e)
        {
        }
        ///  
        /// [属性]每页显示记录数。 
        ///
        public int PageSize
        {
            get
            {
                if (pageSize 1)
                {
                    return CurPage - 1;
                }
                return 1;
            }
        }

        ///  
        /// [属性]相对于当前页的下一页 
        ///  
        public int NextPage
        {
            get
            {
                if (CurPage < PageCount)
                {
                    return CurPage + 1;
                }
                return PageCount;
            }
        }

        private void btnFirstPage_Click(object sender, EventArgs e)
        {
            this.CurPage = 1;
        }

        private void btnLastPage_Click(object sender, EventArgs e)
        {
            this.CurPage = this.PrevPage;
        }

        private void btnNextPage_Click(object sender, EventArgs e)
        {
            this.CurPage = this.NextPage;
        }

        private void btnEndPage_Click(object sender, EventArgs e)
        {
            this.CurPage = this.PageCount;
        }

        private void txtPageNumber_TextChanged(object sender, EventArgs e)
        {
            if (!Validator.IsNumeric(this.txtPageNumber.Text.Trim()))
            {
                MessageBox.Show("请输入数字!");
            }
        }

        private void btnJump_Click(object sender, EventArgs e)
        {

            if (!Validator.IsNumeric(this.txtPageNumber.Text.Trim()))//验证输入是否为数字
            {
                MessageBox.Show("请输入数字!");
            }
            else
            {
                if (int.Parse(this.txtPageNumber.Text.Trim()) > 0)
                {
                    if (int.Parse(this.txtPageNumber.Text.Trim()) < this.PageCount)
                    {
                        this.CurPage = int.Parse(this.txtPageNumber.Text.Trim());
                    }
                    else
                    {
                        this.CurPage = this.PageCount;
                    }
                }
                else
                {
                    this.CurPage = 1;
                }
            }
        } 
    }
}


该用户自定义控件在页面中取名pager

代码如下:

private void BindData()
{
    int rowCount = 0;
    pager.PageSize = 15;    DataGridView.DataSource = GetList(pager.CurPage, pager.PageSize, out rowCount);
    pager.RecordCount = rowCount;
    pager.lbNumber.Text = string.Format("共{0}条记录,每页{1}条记录,共{2}页", pager.RecordCount.ToString(), pager.PageSize.ToString(), pager.PageCount.ToString());
}

private void Pager_PageChanged(object sender, EventArgs e)
{
    BindData(); //重新对DataGridView控件的数据源进行绑定。
}

控件


    
 
 

您可能感兴趣的文章:

  • windows下c/c++读写锁实现原理及代码参考
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • windows,linux如何实现文件共享(windows,linux安在同一台机)?
  • 我怎么才能实现用windows读取linux下的usb盘符中的资料?
  • Web服务器/前端 iis7站长之家
  • linux与windows如何实现共享
  • 在Windows操作系统下能否实现X-Client?
  • 怎样能简单的实现LINUX和WINDOWS操作系统并存。
  • 怎么实现Windows和Linux之间数据的接收发送
  • 怎么实现scp拷贝远程windows服务器数据啊?
  • [Fedora] 使用Xmanger来实现在windows下通过远程桌面来访问linux主机的方法
  • 我在windows xp下用vmware装了linux,能不能实现资源共享?
  • 能不能实现windows2000 server和linux双启动?
  • 如何实现 Windows xp 和 Red Hat 7.3 的分区互访?
  • 如何实现 WINDOWS访问LINUX 资源?
  • TurboLinux 7.0 下实现与Windows 共享
  • 请问 linux与windows两个平台下如何实现高速数据传输?
  • 请教一下:在UNIX下怎样实现和Windows下“计划任务”一样的功能。
  • java怎样实现 运行dos命令行的命令或者windows的程序
  • 如何实现在WINDOWS中查看LINUX的文件?
  • 怎样在rh9里实现如windows里网上邻居的功能
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt.event类keyevent的类成员方法: vk_windows定义及介绍
  • 怎么在Linux下改windows系统文件啊,我把windows的BOOT.INI改了,windows启动不了
  • WinDows8最新版文件夹加密
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • 修改Windows硬盘分区名称
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • windows10玩游戏怎么样?唯一支持DirectX 12的windows
  • 装了Linux和Windows,怎样默认进入Windows
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • Linux与windows共存时,如何将Windows设置为默认启动系统?
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 怎样是编好的java application在windows上像windows应用程序一样直接运行
  • Docker宣布支持Windows 10和Azure Windows Server
  • windows 和linux双系统,重装windows后,无法启动linux?
  • win7/Windows7系统下载地址搜集整理
  • 如何将linux的一台机器加入windows 2000的域?并且通过一windows的机器上网?
  • Windows7自带防火墙设置:启动,关闭及高级设置
  • 为什么在安装了WINDOWS和LINUX的电脑上,重装WINDOWS会破坏MBR?
  • IE11设置IE兼容性视图及提升Windows 8.1中IE11兼容性的相关设置
  • Linux + Windows2000 双启动,Windows2000起不来了,说是文件被破坏,进来看看……
  • Windows优化大师最新版 V7.99 Build 12.604发布
  • Linux和Windows2000双系统(为什么Windows2000中打开我的电脑非常慢?)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3