c# c/s 框架的分页用户控件,还有事件
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 框架的分页用户控件,还有事件的更多相关文章
- 【转】通用分页用户控件(DataGrid,DataList,Repeater都可以用它来分页)
通用分页控件(DataGrid,DataList,Repeater都可以用它来分页) 1.建立用户控件Pager.ascx 1.1 html </ASP:LABEL></TD> ...
- c#给用户控件添加事件处理程序
1.首先在usercontrol后台添加如下代码: public partial class MyControl: UserControl { //添加事件代理 public event ...
- C# winform中自定义用户控件 然后在页面中调用用户控件的事件
下面是用户控件的代码: using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...
- C#winform窗体用户控件自定义事件
C#许多事情都和事件有关系,大部分的事情我们可以通过C#自己的事件来完成,但如果我们自己新建了一个自定义控件,我们该如何定义自己想要的事件呢?下面我就来为大家粗略的讲解一番. 假设我们自定义了一个控件 ...
- DevExpress 用户控件 分页(中)
说明: 1)具体调用请关注 看DevExpress 用户控件 分页(下) datanavi_ButtonClick 是DataNavigator的ButtonClikc事件 视图设计器: 分页用户控件 ...
- (九)ASP.NET自定义用户控件(2)
http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html 用户控件 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗 ...
- 036. asp.netWeb用户控件之五使用用户控件实现分页数据导航
UserDataPager.ascx用户控件代码: <%@ Control Language="C#" AutoEventWireup="true" Co ...
- WPF MVVM 用户控件完成分页
项目中经常会有分页查询的情况,在WPF中我们可以通过用户控件完成分页 一下为分页控件的页面代码, <UserControl x:Class="Foundation.UCtrl.Next ...
- DevExpress 用户控件 分页(上)
说明:使用用户控件分页,完成后,使用时非常简单,数据绑定,调用自己写的一个事件就OK了 前期准备工作: (1)添加一个用户控件 命名PageCtrl (2)打开代码: [csharp] view ...
随机推荐
- Typescript学习笔记(四)class 类
typescript的类,与c#,java等语言的类类似.也是包含了一大部分的es6的实现.我会用最通俗的语言讲一下对coding有用的地方. class Greeter { greeting: st ...
- 如何设计出优秀的Restful API?
https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw==&mid=2247485240&idx=1&sn=b5b9c8c41659d2 ...
- AITP
AITP AITP比较简单,适合刚毕业,即将开始IT生涯的学生.接受CIPS认证课程的毕业生可以自动获得AITP证书,并获得一年的免费的CIPS会员资格. 接受非CIPS认证课程的毕业生需要申请,另外 ...
- Ubuntu下搜狗输入法无法输入中文
现象:无法打出中文,但是有输入框.如下图所示情形: 解决方法 删除配置文件,重启fcitx 配置文件在~/.config下的3个文件夹里SogouPY.SogouPY.users.sogou-qimp ...
- 洛谷P5111 zhtobu3232的线段树
题意:给定线段树,上面若干个节点坏了,求能表示出多少区间. 区间能被表示出当且仅当拆出来的log个节点都是好的. 解:每个区间在最浅的节点处计算答案. 对于每个节点维护从左边过来能有多少区间,从右边过 ...
- jenkins系列之添加全局配置(一)
第一步: 第二步:执行以下命令: 第三步:找到/c/Users/Administrator/.ssh 目录,里面有两个文件:id_rsa和id_rsa.pub 第四步:配置ssh[这里是id_rsa. ...
- bash 2
除了显式地直接赋值,还可以用语句给变量赋值,如 for file in `ls /etc` 或 for file in $(ls /etc) your_name="qinjx" e ...
- unittest的使用二——生成基于html的测试报告
mac下的安装: 1.下载HTMLTestRunner.py文件,下载地址http://tungwaiyip.info/software/HTMLTestRunner.html,可以复制里面的内容到一 ...
- 老项目用webpack中文乱码问题解决记录
有个很久(有多久呢,你还记得jquery1.6的年代吗...)的项目需要新加一些功能,又想使用新的生产力工具比如说webpack,es6,vue神马的.原来的项目整体都是用GBK编码的,这特么...坑 ...
- VMware for mac inside error solutions
Terminal 下执行 sudo xattr -r -d com.apple.quarantine /Applications/VMware\ Fusion.app 之后就能正常打开镜像安装虚拟机了 ...