分頁透過將大型資料集分成更小的、可管理的頁面,在顯示大型資料集方面發揮著至關重要的作用。在 Windows 窗體應用程式中,分頁可讓使用者輕鬆瀏覽資料網格視圖。以下是實作此功能的方法:
使用 BindingNavigator 控制項:
此方法涉及使用 BindingNavigator GUI 控制項以及 BindingSource 物件。透過將 BindingNavigator 的 DataSource 屬性設定為 IListSource 的自訂子類,可以定義分頁符號。當使用者點擊「下一頁」按鈕時,BindingNavigator 會觸發 bindingSource1_CurrentChanged 事件。此事件會觸發您的程式碼來取得目前頁面所需的記錄。
以下是使用 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; } }
以上是如何在 WinForms DataGridView 中實作分頁?的詳細內容。更多資訊請關注PHP中文網其他相關文章!