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;

namespace Manage
{
    public partial class UserPageControl : UserControl
    {
        public UserPageControl()
        {
            InitializeComponent();
            PageChanged = InitBut;
        }
        ;
        /// <summary>
        /// 当前页
        /// </summary>
        [Description("当前页"), Category("分页设置")]
        public int CurrentPage
        {
            get { return currentPage; }
            set { currentPage = value; }
        }
        ;//每页显示条数
        /// <summary>
        /// 每页显示条数
        /// </summary>
        [Description("每页显示条数"), Category("分页设置")]
        public int PageSize
        {
            get { return pageSize; }
            set { pageSize = value; }
        }
        /// <summary>
        /// 总的记录数
        /// </summary>
        private int recordCount;//总的记录数
        [Description("总的记录数"), Category("分页设置")]
        public int RecordCount
        {
            get { return recordCount; }
            set
            {
                recordCount = value;

            }
        }
        /// <summary>
        /// 总共页码
        /// </summary>
        public int CountPage
        { get; set; }
        public delegate void PageChangeDelegate();
        /// <summary>
        /// 当前页改变时发生的事件
        /// </summary>
        [Description("当前页改变时发生的事件"), Category("分页设置")]
        public event PageChangeDelegate PageChanged;

        /// <summary>
        /// 初始化数据
        /// </summary>
        public void InitData()
        {
            CountPage = recordCount / pageSize;
            )
            {
                CountPage = ;
                label1.Text = string.Format("共{0}条记录,每页{1}条,共{2}页/第{3}页", RecordCount, PageSize, CountPage, CurrentPage);
                InitBut();
                return;
            }

             && recordCount % pageSize != )
            {
                CountPage = CountPage + ;
                label1.Text = string.Format("共{0}条记录,每页{1}条,共{2}页/第{3}页", RecordCount, PageSize, CountPage, CurrentPage);
                InitBut();
                return;
            }
            label1.Text = string.Format("共{0}条记录,每页{1}条,共{2}页/第{3}页", RecordCount, PageSize, CountPage, CurrentPage);
            InitBut();
            return;
        }
        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Prev_Click(object sender, EventArgs e)
        {
            CurrentPage--;

            InitData();
            PageChanged();
        }
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Next_Click(object sender, EventArgs e)
        {
            CurrentPage++;

            InitData();
            PageChanged();
        }
        public void InitBut()
        {

            //上一页是否可用
            )
            {
                Prev.Enabled = false;
            }
            else
            {
                Prev.Enabled = true;
            }
            //下一页是否可用
            if (CurrentPage >= CountPage)
            {
                Next.Enabled = false;
            }
            else
            {
                Next.Enabled = true;
            }

        }

    }
}

public partial class UserPageControl : UserControl     {         public UserPageControl()         {             InitializeComponent();             PageChanged = InitBut;         }         int currentPage = 1;         /// <summary>         /// 当前页         /// </summary>         [Description("当前页"), Category("分页设置")]         public int CurrentPage         {             get { return currentPage; }             set { currentPage = value; }         }         int pageSize = 10;//每页显示条数         /// <summary>         /// 每页显示条数         /// </summary>         [Description("每页显示条数"), Category("分页设置")]         public int PageSize         {             get { return pageSize; }             set { pageSize = value; }         }         /// <summary>         /// 总的记录数         /// </summary>         private int recordCount;//总的记录数         [Description("总的记录数"), Category("分页设置")]         public int RecordCount         {             get { return recordCount; }             set             {                 recordCount = value;

}         }         /// <summary>         /// 总共页码         /// </summary>         public int CountPage         { get; set; }         public delegate void PageChangeDelegate();         /// <summary>         /// 当前页改变时发生的事件         /// </summary>         [Description("当前页改变时发生的事件"), Category("分页设置")]         public event PageChangeDelegate PageChanged;

/// <summary>         /// 初始化数据         /// </summary>         public void InitData()         {             CountPage = recordCount / pageSize;             if (CountPage <= 0)             {                 CountPage = 1;             }

if (CountPage > 0 && recordCount % pageSize != 0)             {                 CountPage = CountPage + 1;             }             label1.Text = string.Format("共{0}条记录,每页{1}条,共{2}页/第{3}页", RecordCount, PageSize, CountPage, CurrentPage);             InitBut();         }         /// <summary>         /// 上一页         /// </summary>         /// <param name="sender"></param>         /// <param name="e"></param>         private void Prev_Click(object sender, EventArgs e)         {             CurrentPage--;

InitData();             PageChanged();         }         /// <summary>         /// 下一页         /// </summary>         /// <param name="sender"></param>         /// <param name="e"></param>         private void Next_Click(object sender, EventArgs e)         {             CurrentPage++;

InitData();             PageChanged();         }         public void InitBut()         {             //上一页是否可用             if (CurrentPage <= 1)             {                 Prev.Enabled = false;             }             else             {                 Prev.Enabled = true;             }             //下一页是否可用             if (CurrentPage >= CountPage)             {                 Next.Enabled = false;             }             else             {                 Next.Enabled = true;             }

}

}

c# c/s 框架的分页用户控件,还有事件的更多相关文章

  1. 【转】通用分页用户控件(DataGrid,DataList,Repeater都可以用它来分页)

    通用分页控件(DataGrid,DataList,Repeater都可以用它来分页) 1.建立用户控件Pager.ascx 1.1 html </ASP:LABEL></TD> ...

  2. c#给用户控件添加事件处理程序

    1.首先在usercontrol后台添加如下代码: public partial class MyControl: UserControl { //添加事件代理       public event ...

  3. C# winform中自定义用户控件 然后在页面中调用用户控件的事件

    下面是用户控件的代码: using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...

  4. C#winform窗体用户控件自定义事件

    C#许多事情都和事件有关系,大部分的事情我们可以通过C#自己的事件来完成,但如果我们自己新建了一个自定义控件,我们该如何定义自己想要的事件呢?下面我就来为大家粗略的讲解一番. 假设我们自定义了一个控件 ...

  5. DevExpress 用户控件 分页(中)

    说明: 1)具体调用请关注 看DevExpress 用户控件 分页(下) datanavi_ButtonClick 是DataNavigator的ButtonClikc事件 视图设计器: 分页用户控件 ...

  6. (九)ASP.NET自定义用户控件(2)

    http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html 用户控件 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗 ...

  7. 036. asp.netWeb用户控件之五使用用户控件实现分页数据导航

    UserDataPager.ascx用户控件代码: <%@ Control Language="C#" AutoEventWireup="true" Co ...

  8. WPF MVVM 用户控件完成分页

    项目中经常会有分页查询的情况,在WPF中我们可以通过用户控件完成分页 一下为分页控件的页面代码, <UserControl x:Class="Foundation.UCtrl.Next ...

  9. DevExpress 用户控件 分页(上)

    说明:使用用户控件分页,完成后,使用时非常简单,数据绑定,调用自己写的一个事件就OK了 前期准备工作: (1)添加一个用户控件 命名PageCtrl (2)打开代码:   [csharp] view ...

随机推荐

  1. js 字符与ASCII码互转

    将字符转为ASCII码 var str = "A"; str.charCodeAt(); var str1 = 'a'; str1.charCodeAt(); 将ASCII码转为字 ...

  2. Arch Linux中使用VMware Workstation不能打开vmmon内核模块

    打开VMware Workstation出现错误提示:Could not open /dev/vmmon: No such device.Please make sure that the kerne ...

  3. CF670C cinema

    想必是个半水题,div2的C嘛 仔细观察,发现排序可做. 怎么排序呢?排啥呢?拿啥离散化,拿啥结构体呢? 仔细思考热静分析,便可得出结论: 以每个人会的语言离散化,把每个电影建结构体后不排序,而是枚举 ...

  4. [luogu1486][郁闷的出纳员]

    题目链接 思路 这个题其实就是对于treap中的删除操作进行一些修改.自己yy了一种做法.就是在删除的时候,如果要删除的数比这棵子树的根大,那么就把根变成根的右孩子,这样就相当于删除了整棵左子树和根节 ...

  5. jenkins学习:jenkins+gitlab

    配置前提: 1.Jenkins已安装git plugin,gitlab plugin,安装过程可参考 https://www.cnblogs.com/zhizhiyin/p/9138309.html ...

  6. (DIjsktra算法) nyoj1401-一场说走就走的旅行

    题目描述: 有一天,孩子回来对我说:“妈妈,听说马尔代夫很不错,放假了我想去玩.”马尔代夫?我也想去!没有人不向往一场说走就走的旅行!“其实我想去的地方很多,呼伦贝尔大草原.玉龙雪山.布达拉宫.艾菲尔 ...

  7. asp一句话

    <%eval""&("e"&"v"&"a"&"l"&& ...

  8. 考虑浏览器兼容的文件上传(IE8不支持FormData)

    方法一:使用FormData(因IE8不支持FormData, IE10才支持,因此此方法不兼容IE10以下的IE浏览器) 也可参考文章 http://www.jianshu.com/p/46e6e0 ...

  9. Hbase 1.3.0 Rsgroup

    HBase RSGroup Git环境window环境下,警用crlf自动转换git config --global core.autocrlf false protobuf环境yum install ...

  10. Java Hibernate中的悲观锁和乐观锁的实现

    锁(locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性.如在金融系统的日终结算 处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种, ...