最近项目需要自己写了一个用来给DataGridView分页用的控件。
考虑到分页效率的原因,没有在控件中对DataSource进行处理,所以这个控件就是一个放置DataGridView的容器,提供一个工具栏。
效果图如下:
在设计模式下可以为容器添加绑定的DataGridView,并设置工具栏的位置。
需要说明的是需要在初始化的时候调用
public void Initialization(int pageRowCapacity, int rowCount)方法,给控件初始化。
实际使用来看效果还不错,呵呵,可以做到对源项目中使用DataGridView的画面提供无缝支持。
一个调用的例子( http://www.my400800.cn )。
考虑到分页效率的原因,没有在控件中对DataSource进行处理,所以这个控件就是一个放置DataGridView的容器,提供一个工具栏。
效果图如下:
在设计模式下可以为容器添加绑定的DataGridView,并设置工具栏的位置。
需要说明的是需要在初始化的时候调用
public void Initialization(int pageRowCapacity, int rowCount)方法,给控件初始化。
实际使用来看效果还不错,呵呵,可以做到对源项目中使用DataGridView的画面提供无缝支持。
一个调用的例子( http://www.my400800.cn )。
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); } }
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); } }