zoukankan      html  css  js  c++  java
  • Winform DataGridView 自定义分页

    需要一个、BindingNavigate、BindingSource控件,分别命名为PageOperation,dataSource;

    首先,定义私有字段:

            private int pageTotal;

            private int pageSize = 10;

            private int pageIndex = 1;

    然后是赋值 dataSource.DataSource = list;


    #region 分页相关

            //分页操作

            private void PageOperation(ToolStripItemClickedEventArgs e)

            {

                if (e.ClickedItem.Text == "首页")

                {

                    FirstPageOperation();

                }

                if (e.ClickedItem.Text == "上一页")

                {

                    PrevPageOperation();

                }

                if (e.ClickedItem.Text == "下一页")

                {

                    NextPageOperation();

                }

                if (e.ClickedItem.Text == "尾页")

                {

                    LastPageOperation();

                }

            }

            //尾页

            private void LastPageOperation()

            {

                pageIndex = pageTotal;

                if (pageIndex + 1 >= pageTotal)

                {

                    PageWithLastOfNext(false);

                }

                if (pageTotal > 1)

                {

                    PageWithPrevOfFirst(true);

                }

            }

            //下一页

            private void NextPageOperation()

            {

                if (pageIndex + 1 >= pageTotal)

                {

                    PageWithLastOfNext(false);

                }

                pageIndex++;

                if (pageTotal > 1)

                {

                    PageWithPrevOfFirst(true);

                }

            }

            //上一页

            private void PrevPageOperation()

            {

                if (pageIndex - 1 <= 1)

                {

                    PageWithPrevOfFirst(false);

                }

                pageIndex--;

                if (pageTotal > 1)

                {

                    PageWithLastOfNext(true);

                }

            }

            //首页

            private void FirstPageOperation()

            {

                pageIndex = 1;

                if (pageIndex - 1 <= 1)

                {

                    PageWithPrevOfFirst(false);

                }

                if (pageTotal > 1)

                {

                    PageWithLastOfNext(true);

                }

            }


            private void PageWithPrevOfFirst(bool enabled)

            {

                        itemPagePrev.Enabled = enabled;

                        iitemPageFirst.Enabled = enabled;

            }


            private void PageWithLastOfNext(bool enabled)

            {

                        itemPageLast.Enabled = enabled;

                        itemPageNext.Enabled = enabled;

            }


            #endregion



  • 相关阅读:
    asm volatile (&quot;B .&quot;)
    最大熵学习笔记(一)预备知识
    12、Cocos2dx 3.0游戏开发找小三之3.0中的生命周期分析
    Android中通过反射来设置Toast的显示时间
    Linux Centos7 Apache 訪问 You don&#39;t have permission to access / on this server.
    校园双选会,你都懂么
    关于虚继承和析构函数的一个奇怪的问题
    Codeforces Round #252 (Div. 2)B. Valera and Fruits
    P3809 【模版】后缀排序
    752. [BJOI2006] 狼抓兔子
  • 原文地址:https://www.cnblogs.com/rsls/p/4364120.html
Copyright © 2011-2022 走看看