Windows フォーム DataGridView でのページネーションの実装
Windows フォームでは、使いやすさを維持しながら大規模なデータセットを効率的に表示する必要があります。ページネーションを使用すると、データ レコードをページとして表示される小さなサブセットに分割して、データ レコード内を移動できるようになります。この記事では、Windows フォーム内の DataGridView コントロールでページネーションを実現する方法について説明します。
カスタム コントロールと DataGridView プロパティ
DataGridView コンポーネントには組み込みのプロパティが提供されていません。ページネーション機能。したがって、カスタム コントロールを作成する必要はありません。代わりに、BindingNavigator コントロールを改ページをサポートするカスタム データ ソースと組み合わせて利用できます。
実装:
以下のコード スニペットは、ページ区切りの実装の概要を示しています。 DataGridView:
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(); }
PageOffsetList クラスは、カスタムIListSource は、レコードの総数と必要なページ サイズに基づいてページ オフセットのリストを返します。ユーザーが BindingNavigator の「次のページ」ボタンをクリックすると、bindingSource1_CurrentChanged イベントがトリガーされます。
private void bindingSource1_CurrentChanged(object sender, EventArgs e) { int offset = (int)bindingSource1.Current; List<Record> records = new List<Record>(); for (int i = offset; i < offset + pageSize && i < totalRecords; i++) records.Add(new Record { Index = i }); dataGridView1.DataSource = records; }
イベント ハンドラー内で、現在のページ オフセットが取得され、レコードの目的のページをフェッチするために使用されます。 。取得されたレコードは DataGridView コントロールにバインドされ、次のページが効果的に表示されます。
結論:
BindingNavigator とページネーションをサポートするカスタム データ ソースを利用することで、 Windows フォームの DataGridView コントロール内にページネーション機能を実装しました。このアプローチにより、大規模なデータセットの効率的なナビゲーションが可能になり、ユーザー エクスペリエンスが向上し、データ操作がより管理しやすくなります。
以上がWindows フォーム DataGridView でページネーションを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。