How to Implement Pagination in a WinForms DataGridView?
Dec 31, 2024 pm 02:56 PMImplementing Pagination in a WinForm DataGridview
Pagination plays a crucial role in displaying large datasets by breaking them into smaller, manageable pages. In a Windows Form application, pagination allows users to navigate through a data grid view with ease. Here's how to achieve this functionality:
Using the BindingNavigator Control:
This approach involves using the BindingNavigator GUI control along with a BindingSource object. By setting the DataSource property of the BindingNavigator to a custom subclass of IListSource, page breaks can be defined. When the user clicks the "next page" button, the BindingNavigator fires the bindingSource1_CurrentChanged event. This event triggers your code to fetch the desired records for the current page.
Here's an example implementation using C#:
private const int totalRecords = 43; private const int pageSize = 10; public Form1() { dataGridView1.Columns.Add(new DataGridViewTextBoxColumn { DataPropertyName = "Index" }); bindingNavigator1.BindingSource = bindingSource1; bindingSource1.CurrentChanged += new System.EventHandler(bindingSource1_CurrentChanged); bindingSource1.DataSource = new PageOffsetList(); } private void bindingSource1_CurrentChanged(object sender, EventArgs e) { int offset = (int)bindingSource1.Current; var records = new List<Record>(); for (int i = offset; i < offset + pageSize && i < totalRecords; i++) records.Add(new Record { Index = i }); dataGridView1.DataSource = records; } class PageOffsetList : System.ComponentModel.IListSource { public bool ContainsListCollection { get; protected set; } public System.Collections.IList GetList() { var pageOffsets = new List<int>(); for (int offset = 0; offset < totalRecords; offset += pageSize) pageOffsets.Add(offset); return pageOffsets; } }
The above is the detailed content of How to Implement Pagination in a WinForms DataGridView?. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

C language function format letter case conversion steps

What are the types of values returned by c language functions? What determines the return value?

What are the definitions and calling rules of c language functions and what are the

How does the C Standard Template Library (STL) work?

Where is the return value of the c language function stored in memory?

How do I use algorithms from the STL (sort, find, transform, etc.) efficiently?
