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; } }
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!