Winform分頁控制項

来源:http://www.cnblogs.com/s0611163/archive/2016/07/18/5682247.html
-Advertisement-
Play Games

設計界面: 代碼: using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; usi ...


設計界面:

代碼:

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;
using ClientModels;

namespace XXPLClient.UI
{
    public partial class PagerControl : UserControl
    {
        #region PageSize
        private int _pageSize = 10;
        /// <summary>
        /// 每頁數據條數
        /// </summary>
        public int PageSize
        {
            get
            {
                return _pageSize;
            }
            set
            {
                if (value == 0)
                {
                    _pageSize = 1;
                    Pager.rows = 1;
                }
                else
                {
                    _pageSize = value;
                    Pager.rows = value;
                }
            }
        }
        #endregion

        #region 事件
        public event PageChangedHandler PageChanged = null;
        public event RefreshDataHandler RefreshData = null;
        #endregion

        #region Pager
        private PagerModel _pager = new PagerModel(1, 10);
        public PagerModel Pager
        {
            get
            {
                return _pager;
            }
            set
            {
                _pager = value;
                txtCurrentPage.Text = _pager.page.ToString();
                lblTotalPage.Text = " / " + _pager.pageCount.ToString();
            }
        }
        #endregion

        #region PagerControl 構造函數
        public PagerControl()
        {
            InitializeComponent();
        }
        #endregion

        #region PagerControl_Load
        private void PagerControl_Load(object sender, EventArgs e)
        {
            tools.BackColor = SystemColors.Control;
        }
        #endregion

        private void btnFirst_Click(object sender, EventArgs e)
        {
            Pager.page = 1;
            if (PageChanged != null)
            {
                PageChanged();
            }
        }

        private void btnPre_Click(object sender, EventArgs e)
        {
            Pager.page = Pager.prePage;
            if (PageChanged != null)
            {
                PageChanged();
            }
        }

        private void btnNext_Click(object sender, EventArgs e)
        {
            Pager.page = Pager.nextPage;
            if (PageChanged != null)
            {
                PageChanged();
            }
        }

        private void btnLast_Click(object sender, EventArgs e)
        {
            Pager.page = Pager.pageCount;
            if (PageChanged != null)
            {
                PageChanged();
            }
        }

        private void btnRefresh_Click(object sender, EventArgs e)
        {
            if (RefreshData != null)
            {
                RefreshData();
            }
        }

        private void btnCurrentPage_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void txtCurrentPage_KeyUp(object sender, KeyEventArgs e)
        {
            if (Convert.ToInt32(txtCurrentPage.Text) < 1)
            {
                txtCurrentPage.Text = "1";
            }
            if (Convert.ToInt32(txtCurrentPage.Text) > Pager.pageCount)
            {
                txtCurrentPage.Text = Pager.pageCount.ToString();
            }
            Pager.page = Convert.ToInt32(txtCurrentPage.Text);
            if (PageChanged != null)
            {
                PageChanged();
            }
        }
    }
    /// <summary>
    /// 翻頁
    /// </summary>
    public delegate void PageChangedHandler();
    /// <summary>
    /// 刷新數據
    /// </summary>
    public delegate void RefreshDataHandler();
}
View Code

使用效果圖:

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在ORACLE資料庫中,如果一個比較大的索引在重建過程中耗費時間比較長,那麼怎麼查看索引重建耗費的時間,以及完成了多少(比例)了呢,我們可以通過V$SESSION_LONGOPS視圖來查看索引重建的時間和進度。 官方文檔關於V$SESSION_LONGOPS的介紹如下 V$SESSION_LONGO... ...
  • 今天終於鼓起所有的勇氣,吹散了所有的懶惰去參加了一家小公司的面試,面試方向是PHP工程師,作為從二線城市過來的二線PHPer可謂是備受打擊。在以前憑藉著回答“GET和POST的區別”的面試方式以及不存在了,在整個面試過程中幾乎沒有涉及PHP的基礎知識,問的基本上都是高併發、緩存、大數據量等方面的知識 ...
  • find命令相對於locate這種非實時查找的搜索命令,大大增加了我們搜索的便捷度以及準確性;並且能夠方便的幫助我們對大文件、特定類型的文件查找與刪除,特別是有超多小碎文件的時候,更是方便至極.... -user username:查找屬主是xx的文件 -group group:查找屬組的xx文件 ...
  • 使用以下命令查看: ps -aux | sort -k4,4n ps auxw --sort=rss ps auxw --sort=%cpu linux 下的ps命令 %CPU 進程的cpu占用率 %MEM 進程的記憶體占用率 VSZ 進程所使用的虛存的大小 RSS 進程使用的駐留集大小或者是實際記憶體 ...
  • 1. Excel for Mac 的 Developer tab下沒有XML組,因此無法從xml導入或者導出到xml; 2. Excel for Mac 中沒有Mark as Finnal的功能; 3. Switch Window功能存在於頂部菜單 Window 中; Mac中變為: 4. ...
  • 出現這個錯誤,是系統的glibc版本太低了,需要更新 到http://ftp.gnu.org/gnu/glibc/下載新版本的glibc,也不用太高,我選擇glibc-2.20.tar.gz 解壓完畢後 ./congigure --prefix=/opt/glibc-2.20 make && mak ...
  • 前些天公司項目需要對上傳的圖片打水印,前端採用angularjs,後端nodejs,網上一搜,找到了一個images的庫,在本地Windows環境下試了下還不錯,然後就上傳測試伺服器(centos6.5系統)了,結果就出問題了,網上一查,發現需要gblic2.14(centos6.5系統自帶的是2. ...
  • 但是對於在各個 IT 領域的人們,我們需要將這個事情提高一個層面。我們需要使用像 SSH 密鑰這樣的加密秘鑰,而不只是密碼。 設想一個場景:我有一個運行在雲上的伺服器,用作我的主 git 庫。我有很多台工作電腦,所有這些電腦都需要登錄到這個中央伺服器去做 push 與 pull 操作。這裡我設置 g ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...