Table of Contents
Implementing Pagination in a WinForm DataGridview
Home Backend Development C++ How to Implement Pagination in a WinForms DataGridView?

How to Implement Pagination in a WinForms DataGridView?

Dec 31, 2024 pm 02:56 PM

How to Implement Pagination in a WinForms DataGridView?

Implementing 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;
    }
}
Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

C language function format letter case conversion steps C language function format letter case conversion steps Mar 03, 2025 pm 05:53 PM

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 types of values ​​returned by c language functions? What determines the return value? Mar 03, 2025 pm 05:52 PM

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

Gulc: C library built from scratch Gulc: C library built from scratch Mar 03, 2025 pm 05:46 PM

Gulc: C library built from scratch

What are the definitions and calling rules of c language functions and what are the What are the definitions and calling rules of c language functions and what are the Mar 03, 2025 pm 05:53 PM

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

How does the C   Standard Template Library (STL) work? How does the C Standard Template Library (STL) work? Mar 12, 2025 pm 04:50 PM

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

Where is the return value of the c language function stored in memory? Where is the return value of the c language function stored in memory? Mar 03, 2025 pm 05:51 PM

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

distinct usage and phrase sharing distinct usage and phrase sharing Mar 03, 2025 pm 05:51 PM

distinct usage and phrase sharing

How do I use algorithms from the STL (sort, find, transform, etc.) efficiently? How do I use algorithms from the STL (sort, find, transform, etc.) efficiently? Mar 12, 2025 pm 04:52 PM

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

See all articles