Heim > Backend-Entwicklung > C++ > Wie implementiert man die Paginierung in einer WinForms DataGridView?

Wie implementiert man die Paginierung in einer WinForms DataGridView?

Linda Hamilton
Freigeben: 2024-12-31 14:56:10
Original
566 Leute haben es durchsucht

How to Implement Pagination in a WinForms DataGridView?

Paginierung in einer WinForm DataGrid-Ansicht implementieren

Paginierung spielt eine entscheidende Rolle bei der Anzeige großer Datensätze, indem sie sie in kleinere, überschaubare Seiten aufteilt. In einer Windows Form-Anwendung ermöglicht die Paginierung Benutzern die einfache Navigation durch eine Datenrasteransicht. So erreichen Sie diese Funktionalität:

Verwenden des BindingNavigator-Steuerelements:

Dieser Ansatz beinhaltet die Verwendung des BindingNavigator-GUI-Steuerelements zusammen mit einem BindingSource-Objekt. Durch Festlegen der DataSource-Eigenschaft des BindingNavigator auf eine benutzerdefinierte Unterklasse von IListSource können Seitenumbrüche definiert werden. Wenn der Benutzer auf die Schaltfläche „Nächste Seite“ klickt, löst der BindingNavigator das Ereignis bindingSource1_CurrentChanged aus. Dieses Ereignis veranlasst Ihren Code, die gewünschten Datensätze für die aktuelle Seite abzurufen.

Hier ist eine Beispielimplementierung mit 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;
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie implementiert man die Paginierung in einer WinForms DataGridView?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage