设计界面:
控件代码:
using System; System.Collections.Generic; System.ComponentModel; System.Drawing; System.Data; System.Linq; System.Text; System.Windows.Forms; ClientModels; namespace XXPLClient.UI { public partial class PagerControl : UserControl { #region PageSize private int _pageSize = 10; /// <summary> /// 每页数据条数 </summary> int PageSize { get { return _pageSize; } setif (value == 0) { _pageSize = 1; Pager.rows = ; } else { _pageSize = value; Pager.rows = value; } } } #endregion #region 事件 event PageChangedHandler PageChanged = null; event RefreshDataHandler RefreshData = #region Pager private PagerModel _pager = new PagerModel(1,); public PagerModel Pager { _pager; } { _pager = value; txtCurrentPage.Text = _pager.page.ToString(); lblTotalPage.Text = " / " + _pager.pageCount.ToString(); } } #region PagerControl 构造函数 PagerControl() { InitializeComponent(); } #region PagerControl_Load void PagerControl_Load(object sender,EventArgs e) { tools.BackColor = SystemColors.Control; } void btnFirst_Click(; if (PageChanged != ) { PageChanged(); } } void btnPre_Click( Pager.prePage; void btnNext_Click( Pager.nextPage; void btnLast_Click( Pager.pageCount; void btnRefresh_Click(if (RefreshData != ) { RefreshData(); } } void btnCurrentPage_KeyPress(if (!Char.IsDigit(e.KeyChar)) { e.Handled = true; } } void txtCurrentPage_KeyUp(if (Convert.ToInt32(txtCurrentPage.Text) < ) { txtCurrentPage.Text = 1"; } if (Convert.ToInt32(txtCurrentPage.Text) > Pager.pageCount) { txtCurrentPage.Text = Pager.pageCount.ToString(); } Pager.page = Convert.ToInt32(txtCurrentPage.Text); ) { PageChanged(); } } } <summary> 翻页 </summary> delegate void PageChangedHandler(); 刷新数据 RefreshDataHandler(); }
PagerModel代码:
System.Collections; System.Web; ClientModels { 分页 </summary> [Serializable] PagerModel { #region 字段 当前页数 int page { get; ; } 每页记录数 int rows { 排序字段 string sort { 排序的方式asc,desc string order { 记录 object result { 记录数 int totalRows { ; } #region 构造函数 PagerModel() { } /// </summary> <param name="page">当前页数</param> <param name="rows">每页记录数</param> public PagerModel(int page, rows) { this.page = page; this.rows = rows; } #region 扩展字段 总页数 pageCount { if (rows != ) { return (totalRows - 1) / rows + { return ; } } } 上一页 prePage { if (page - 1 > return page - ; } } 下一页 nextPage { if (page + 1 < pageCount) { return page + pageCount; } } #endregion } }
如何使用:
PagerModel pager = pagerControl.Pager; List<BS_Meeting_ext> list; if (cbxReviewTime.Checked) { list = m_MeetingDal.GetList(ref pager,cbxType.SelectedValue.ToString(),txtTerm.Text,txtNum.Text,dtpStart.Value.ToString(yyyy-MM-dd"),dtpEnd.Value.ToString()); } { list = m_MeetingDal.GetList(null,1)">); } pagerControl.Pager = pager;
使用效果图:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。