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