From e71a7e09554fd6f46d170c6c5426e39f01ea5a48 Mon Sep 17 00:00:00 2001 From: lg <999544862qq.com> Date: 星期四, 29 八月 2024 16:35:20 +0800 Subject: [PATCH] 分页 --- DevApp/Gs.DevApp/UserControl/PageBar.cs | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 177 insertions(+), 0 deletions(-) diff --git a/DevApp/Gs.DevApp/UserControl/PageBar.cs b/DevApp/Gs.DevApp/UserControl/PageBar.cs new file mode 100644 index 0000000..c0e6f37 --- /dev/null +++ b/DevApp/Gs.DevApp/UserControl/PageBar.cs @@ -0,0 +1,177 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using DevExpress.XtraEditors; +using DevExpress.XtraGrid; +using Gs.DevApp.ToolBox; + +namespace UserControls.Data +{ + public partial class PageBar : UserControl + { + public delegate void GetPageDataEvents(int curPage, int pageSize);//瀹氫箟濮旀墭 + public event GetPageDataEvents williamPagerEvent;//瀹氫箟浜嬩欢 + + public PageBar() + { + InitializeComponent(); + // UtilityHelper.SetFont(layoutControl1); + } + + #region 瀹氫箟灞炴�� + + + int _TotalPages; + /// <summary> + /// 鎬婚〉鏁� + /// </summary> + public int TotalPages + { + get { return _TotalPages; } + set + { + _TotalPages = value; + } + } + + /// <summary> + /// 褰撳墠椤� + /// </summary> + public int CurrentPage + { + get; set; + } + + /// <summary> + /// 姣忛〉鏉℃暟 + /// </summary> + public int RowsCount + { + get; set; + } + + /// <summary> + /// 鎬昏褰曟暟 + /// </summary> + public int RecordCount + { + get; set; + } + #endregion + + //閫夋嫨姣忛〉鏄剧ず鏉℃暟 + private void cbxRowCount_SelectedIndexChanged(object sender, EventArgs e) + { + RowsCount = Convert.ToInt32(cbxRowCount.Text); + CurrentPage = 1; + if (williamPagerEvent != null) + BtnEvents(sender, e); + } + + //鎵嬪姩杈撳叆鏄剧ず椤甸潰缂栧彿 + private void tbxCurrentPage_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + int page = Convert.ToInt32(tbxCurrentPage.Text); + if (page < 1) + { + CurrentPage = 1; + } + else if (page > TotalPages) + { + CurrentPage = TotalPages; + } + else + { + CurrentPage = page; + } + if (williamPagerEvent != null) + BtnEvents(sender, e); + } + } + + + //鐐瑰嚮棣栭〉鎸夐挳 + private void lbFirstPage_Click(object sender, EventArgs e) + { + if (CurrentPage == 1) + return; + CurrentPage = 1; + if (williamPagerEvent != null) + BtnEvents(sender, e); + } + + //鐐瑰嚮涓婁竴椤垫寜閽� + private void lbPrePage_Click(object sender, EventArgs e) + { + if (CurrentPage == 1) + return; + if (CurrentPage <= TotalPages) + { + CurrentPage -= 1; + } + if (williamPagerEvent != null) + BtnEvents(sender, e); + } + + //鐐瑰嚮涓嬩竴椤垫寜閽� + private void lbNextPage_Click(object sender, EventArgs e) + { + if (CurrentPage == TotalPages) + return; + if (CurrentPage < TotalPages) + { + CurrentPage += 1; + } + if (williamPagerEvent != null) + BtnEvents(sender, e); + } + + //鏈〉鎸夐挳 + private void lbEnd_Click(object sender, EventArgs e) + { + if (CurrentPage == TotalPages) + return; + CurrentPage = TotalPages; + if (williamPagerEvent != null) + BtnEvents(sender, e); + } + + private void BtnEvents(object sender, EventArgs e) + { + //setTxt(); + williamPagerEvent(CurrentPage, RowsCount); + } + + public void setTxt() + { + tbxCurrentPage.Text = CurrentPage.ToString(); + lbTotalPages.Text = "鍏� " + TotalPages.ToString() + "椤�"; + lbTotalRows.Text = "鍏� " + RecordCount.ToString() + " 鏉¤褰�"; + this.cbxRowCount.Text = this.RowsCount.ToString(); + if (CurrentPage == 1) + lbFirstPage.Enabled = false; + else + lbFirstPage.Enabled = true; + if (CurrentPage == TotalPages) + lbEnd.Enabled = false; + else + lbEnd.Enabled = true; + if (CurrentPage == 1) + lbPrePage.Enabled = false; + else + lbPrePage.Enabled = true; + if (CurrentPage == TotalPages) + lbNextPage.Enabled = false; + else + lbNextPage.Enabled = true; + } + } +} -- Gitblit v1.9.3