1. 程式人生 > >c#在winform中用DataGridView實現分頁效果

c#在winform中用DataGridView實現分頁效果

public partial class Form11 : Form
    {
        public Form11()
        {
            InitializeComponent();
        }

        private int Inum = 1;  //行號,規定其索引初始值為1
        int pagesize = 4;
        int allCount =0;
        int pagecount = 0;

             
        private void Form11_Load(object sender, EventArgs e)
        {
            using(SqlConnection connection = new SqlConnection("server=數伺服器名稱;uid=sa;pwd=sa;database=資料庫名"))
            {


                SqlDataAdapter da = new SqlDataAdapter("select * from tb_Land", connection);


                DataTable dt = new DataTable();


                da.Fill(dt);

                allCount = dt.Rows.Count;    //獲取資料表中記錄的個數
                

                pagecount = allCount  % pagesize;   //頁數 = 總數/顯示的行數

                //只能顯示一頁,判斷是否是整除
                if (pagecount == 0)
                {
                    pagecount =allCount  / pagesize;
                }
                else
                {
                    pagecount = allCount / pagesize + 1;
                }

                this.label1.Text = "共" + pagecount.ToString() + "頁";           

     
                show(1,4);                                                              //分頁顯示記錄


                // this.label2.Text = "當前第" + Inum.ToString() + "頁";
            }
        }

        /// <summary>
        /// 分頁顯示資料表中的資訊
        /// </summary>
        /// <param name="start"></param>
        /// <param name="end"></param>
        private void show(int start,int end)
        {
            SqlConnection connection = new SqlConnection("server=伺服器名稱;uid=sa;pwd=sa;database=資料庫名稱");


            SqlDataAdapter das = new SqlDataAdapter("select top "+pagesize+" * from tb_Land where Id not in (select top "+pagesize*(Inum-1)+" Id from

tb_Land)",connection);                    //sql語句


            DataSet ds = new DataSet();  

            //顯示指定範圍的記錄
            das.Fill(ds,"one");


            this.dataGridView1.DataSource = ds.Tables["one"].DefaultView;   //繫結顯示資料       
            ds = null;
        }


        //第一頁
        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Inum = 1;
            show(Inum, pagesize);
        }

        //末尾頁
        private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Inum = pagecount;
            show(Inum-1, pagesize);
        }

        //下一頁
        private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Inum++;
            if (Inum <= pagesize)              //如果沒有超出記錄行數
            {
                show(Inum, pagesize);
            }
            else
            {
                MessageBox.Show("現已是最後一頁記錄");
                Inum = pagecount-1;     更改為       
Inum = pagecount;
                return;
            }
        }

        //上一頁
        private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
       {        
            Inum--;
            if (Inum > 0)                     //如果當前不是首記錄
            {
                show(Inum, pagesize);                 //顯示上一頁記錄
            }
            else
            {
                MessageBox.Show("現已是第一頁記錄");
                Inum = 1;                       

                return;
            }
        }

        
    }
}

當前顯示的頁數,實現的有點小問題。可能有些細節上的小問題,希望大家多提建議!(感謝大家提的建議,現已更改)

相關推薦

c#在winform中用DataGridView實現效果

public partial class Form11 : Form     {         public Form11()         {             InitializeComponent();         }         priv

WinForm下編寫控制元件,實現DataGridView效果

     前幾天做C/S專案的時候用到了分頁查詢,所以就想去網上找一些封裝好的分頁控制元件,類似BS專案中的那種。但是找了好幾個都不是特別的好,沒有自己想要的。而且WinForm 裡面的DataGridView也不像WebForm裡面的GridView那樣有自帶的分

winform ListView和DataGridView實現

alt ret 行數 from ner sender lis dap pos 用到的控件有 code: listviewPaging using System; using System.Collections.Generic; using System

Flask快速實現效果

先上整體效果圖: 然後是分頁圖詳情: 與本例相關的路由和模板包括: 路由:views.py @app.route('/blog/list/<int:page>', methods=['GET']) @login_required def blog_

vue+elementui實現效果

當我們向後臺請求大量資料的時候,並要在頁面展示出來,請求的資料可能上百條資料或者更多的時候,並不想在一個頁面展示,這就需要使用分頁功能來去完成了。 1.本次所使用的是vue2.0+element-ui實現一個分頁功能,element-ui這個元件特別豐富,分頁中給我提供了一個Pagination

原生javascript實現效果+搜尋功能

一、概述 首先,我們要明確為何需要分頁技術,主要原因有以下:   1、分頁可以提高客戶體驗度,適當地選擇合適的資料條數,讓頁面顯得更有條理,使得使用者體驗感良好,避免過多資料的冗餘。   2、提高效能的需要。 為何需要搜尋技術,主要原因有以下: 1、搜尋功能,能準確的根據使用

使用laravel 實現效果 超簡單

每頁展示5條資料 控制器 class indexCo extends Controller { public function cc () { $lists = UserAli:

mybatis中oracle實現效果

首先當我們需要通過xml格式處理sql語句時,經常會用到< ,<=,>,>=等符號,但是很容易引起xml格式的錯誤,這樣會導致後臺將xml字串轉換為xml文件時報錯,從而導致程式錯誤。   這樣的問題在iBatiS中或者自定義的xml處理sql的程式中經常需要我

jq前端實現效果小外掛

最近實現了一個分頁的jq外掛分享出來。一、需求  後端資料一股腦拋過來,列表形式顯示內容,由於資料量龐大,就考慮分頁實現了。本外掛宣告(未考慮效能問題,只是實現了相應功能)。二、選擇  外掛開發最快速方法莫過於jquery的外掛開發功能三、外掛原始碼奉上(function($

AJAX實現效果

歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳 LaTex數學公式 UML序列

【git】--------------vue+element-ui實現效果-------------【劉】

管理 nta git nat 。。 layout item spa style 當從後臺請求到大量數據的時候,並要在頁面展示出來,請求的數據可能上百條數據或者更多的時候,並不想在一個頁面展示,這就需要使用分頁功能來去完成了。 1.這次使用的是vue2.0+element-

Java實現效果

步驟 1.使用者發出請求,傳遞條件 2.SpringMVC獲取條件,資料庫查詢,傳回結果 3.ajax得到資料進行處理,最終呈現 HTML設計 <!---分頁查詢--> <div class="ta

PageBean方式實現效果 &n…

專案中,分頁是一個專案中必不可少的,它可以防止我們從資料庫中進行大量資料查詢時速度變慢,提高我們的查詢效率 原文地址: 1、定義分頁模型:PageModel    純屬轉載。

Vue.js 結合bootstrap 前端實現效果

Vue.js 結合bootstrap 前端實現分頁和排序效果 寫之前先抱怨幾句。本來一心一意做.net開發的,漸漸地成了只做前端。最近專案基本都用java做後臺,我們這些.net的就成了前端,不是用wpf做介面,就是用html寫web頁面。 深知自己前端技術

Servlet學習:實現效果的方法

分頁的演算法: 需要定義四個變數,它們有各自的用處 int pageSize:每頁顯示多少條記錄 int pageNow:希望顯示第幾頁 int pageCount:一共有多少頁 int rowCount:一共有多少條記錄 說明: pageSize是指定,pageNow是指

datagridview實現

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

PageHelper+Bootstrap Paginator實現效果

最近需要做一個分頁,找了挺多的前端分頁效果,發現Bootstrap Paginator分頁外掛效果不錯,而我頁面也是用BootStrap做的響應式頁面,就做了實現一個簡單的分頁效果。 在SpringBoot+Mybatis做分頁 1.首先新增maven依賴 <

Spring Boot和Thymeleaf整合,結合JPA實現效果

    在專案裡,我需要做一個Spring Boot結合Thymeleaf前端模版,結合JPA實現分頁的演示效果。做的時候發現有些問題,也查了現有網上的不少文件,發現能全棧實現的不多,所以這裡我就把我的做法,全部程式碼和步驟貼出來供大家參考。 1 建立專案,用pom.xml引入依賴 &nb

C# Winform DataGridView 公共實現

Demo的介面 我利用事件委託事件,仿http://www.cnblogs.com/huyong/寫的公共分頁使用者控制元件 #region  版權資訊 /*-------------------------------------------------------

C#Winform:DataGridView 簡單實現

首先用toolstrip控制元件建立一個分頁用的按鈕,如下圖 程式碼: Code 1private DataTable GetDicData()//獲取所有據 2 { 3 BLLB_CommunitDIC bcdicBll = new