zoukankan      html  css  js  c++  java
  • <转>DataGridView分页控件

    原文地址:http://radiumwong.javaeye.com/blog/586828

    最近项目需要自己写了一个用来给DataGridView分页用的控件。
    考虑到分页效率的原因,没有在控件中对DataSource进行处理,所以这个控件就是一个放置DataGridView的容器,提供一个工具栏。

    效果图如下:


    在设计模式下可以为容器添加绑定的DataGridView,并设置工具栏的位置。


    需要说明的是需要在初始化的时候调用
    public void Initialization(int pageRowCapacity, int rowCount)方法,给控件初始化。

    实际使用来看效果还不错,呵呵,可以做到对源项目中使用DataGridView的画面提供无缝支持。

    一个调用的例子。

    C#代码 复制代码
    1. public partial class Form1 : Form   
    2. {   
    3.     private OrderBiz orderBiz;   
    4.     private const int pageRowCapacity = 15;   
    5.   
    6.     public Form1()   
    7.     {   
    8.        InitializeComponent();   
    9.        dataGridView1.AutoGenerateColumns = false;   
    10.     }   
    11.   
    12.      private void Form1_Load(object sender, EventArgs e)   
    13.      {   
    14.        orderBiz = new OrderBiz(pageRowCapacity);   
    15.        pagingDataGridView1.Initialization(pageRowCapacity, orderBiz.GetSumPersons());   
    16.        BindingDate(0);   
    17.      }   
    18.   
    19.      private void pagingDataGridView1_PageDownClick(object sender, PageChangeEventArgs e)   
    20.      {   
    21.         BindingDate(e.NextPageRowNumber);   
    22.      }   
    23.   
    24.      private void BindingDate(int startRowNumber)   
    25.      {         pagingDataGridView1.BindingData(orderBiz.GetPersonsDataSource(startRowNumber), startRowNumber);   
    26.      }   
    27. }  
    public partial class Form1 : Form
    {
        private OrderBiz orderBiz;
        private const int pageRowCapacity = 15;
    
        public Form1()
        {
           InitializeComponent();
           dataGridView1.AutoGenerateColumns = false;
        }
    
         private void Form1_Load(object sender, EventArgs e)
         {
           orderBiz = new OrderBiz(pageRowCapacity);
           pagingDataGridView1.Initialization(pageRowCapacity, orderBiz.GetSumPersons());
           BindingDate(0);
         }
    
         private void pagingDataGridView1_PageDownClick(object sender, PageChangeEventArgs e)
         {
            BindingDate(e.NextPageRowNumber);
         }
    
         private void BindingDate(int startRowNumber)
         {         pagingDataGridView1.BindingData(orderBiz.GetPersonsDataSource(startRowNumber), startRowNumber);
         }
    }
    


    附件中有源代码和dll文件下载。

  • 相关阅读:
    切割图像(一)概要
    无锁队列--基于linuxkfifo实现
    c++ virturn function -- 虚函数
    c friend -- 友元
    c++ anonymous union,struct -- 匿名联合体和机构体
    c++ anonymous namespace -- 匿名空间
    c++ inheritance -- 继承
    c++ 类名和enum时重复时要在类名前加class::
    c vs c++ in strcut and class
    C++ operator overload -- 操作符重载
  • 原文地址:https://www.cnblogs.com/ymmt/p/1772554.html
Copyright © 2011-2022 走看看