mcpField
S
syncfusion-winforms-record-navigation-control

syncfusion-winforms-record-navigation-control

github.com/syncfusion開発260 回インストール1 週間前に更新
リポジトリ

syncfusion-winforms-record-navigation-control について

このスキルは、Windows Forms アプリで Syncfusion の GridRecordNavigationControl を実装する方法を説明します。グリッド画面にレコード移動機能を加える開発者向けに、ナビゲーション、スタイル、GridGroupingControl との連携を扱います。

主な機能

  1. 01先頭・末尾・前・次のレコード移動
  2. 02現在位置と総レコード数の表示
  3. 03Default、Metro、Office2016 のスタイル
  4. 04ラベルとテキストのローカライズ
  5. 05GridGroupingControl との連携

活用シーン

  1. 01データベースビューアでのレコード閲覧
  2. 02エディターでのレコード移動
  3. 03大規模なグリッドデータの閲覧
  4. 04グループ化されたレコードの閲覧

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-record-navigation-control

インストール後、Claude Code で/syncfusion-winforms-record-navigation-controlを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
getting-started.md
gridgrouping-integration.md
navigation-methods.md
styling.md

詳細

Grid レコードナビゲーションコントロールの実装

Windows Forms アプリケーションで Syncfusion GridRecordNavigationControl を実装するための包括的なガイドです。このコントロールは、グリッドコントロール内のレコードを移動するための、Microsoft Access のようなナビゲーションバーを提供します。

このスキルを使用する場面

次のような場合は、GridRecordNavigationControl を使用します。

  • グリッドレコードを参照するためのナビゲーションコントロールを追加する
  • Microsoft Access のようなレコードナビゲーション UI を実装する
  • 最初、最後、前、次へのナビゲーション機能を提供する
  • GridControl または GridDataBoundGrid の大規模なデータセットを移動する
  • GridGroupingControl とナビゲーションバーを統合する
  • 直感的なレコード参照機能を備えたデータ駆動型アプリケーションを作成する
  • レコード数と現在の位置をユーザーに表示する

コンポーネントの概要

GridRecordNavigationControl を使うと、グリッドの下部に配置されたナビゲーションバーからレコード間を移動できます。Microsoft Access でおなじみのスタイルのインターフェイスを備え、最初、最後、前、次のレコードへの移動を標準でサポートしています。

主な機能:

  • 組み込みのナビゲーションメソッド - MoveFirst、MoveLast、MoveNext、MovePrevious
  • ローカライズのサポート - ナビゲーションバーのテキストとラベルをカスタマイズ
  • ビジュアルスタイル - Default、Metro、Office2016 のテーマ
  • GridGroupingControl との統合 - ShowNavigationBar プロパティによる簡単な統合
  • プログラムからの制御 - コードを使ってレコードを動的に移動
  • レコードの表示 - 現在のレコードとレコード総数を表示

ドキュメントとナビゲーションガイド

はじめにとセットアップ

📄 参照: references/getting-started.md

  • アセンブリの配置要件(Syncfusion.Grid.Windows、Syncfusion.Shared.Base)
  • Visual Studio デザイナーを使った GridRecordNavigationControl の作成
  • コードを使った GridRecordNavigationControl の作成
  • 子グリッドコントロール(GridControl、GridDataBoundGrid)の追加
  • 基本的な設定と初期化
  • C# および VB.NET による完全なセットアップ例
ナビゲーションメソッドと機能

📄 参照: references/navigation-methods.md

  • MoveFirst() - 最初のレコードに移動
  • MoveLast() - 最後のレコードに移動
  • MoveNext() - 次のレコードに移動
  • MovePrevious() - 前のレコードに移動
  • 大規模なデータセットでの使用例
  • プログラムによるナビゲーションの例
  • コードサンプル付きのナビゲーションメソッドリファレンス
スタイルとテーマ

📄 参照: references/styling.md

  • ビジュアルスタイル:Default、Metro、Office2016
  • Style プロパティの設定
  • Office2016 の配色(Black、Colorful、DarkGray、White)
  • GridOfficeScrollBars との統合
  • スクリーンショット付きのテーマ例
  • 外観のカスタマイズ
GridGroupingControl との統合

📄 参照: references/gridgrouping-integration.md

  • GridGroupingControl の ShowNavigationBar プロパティ
  • RecordNavigationBar プロパティへのアクセス
  • 組み込みのナビゲーションサポートの統合
  • グループ化されたデータでナビゲーションバーを有効化
  • 完全な統合例
  • グループ化されたグリッドでのレコードナビゲーション

クイックスタートの例

デザイナーから(推奨)
// Step 1: Drag GridRecordNavigationControl from toolbox to form
// Step 2: Position and size the control
// Step 3: Drag GridDataBoundGrid into the GridRecordNavigationControl
// Step 4: Set GridDataBoundGrid.DataSource property

// Designer generates this code:
this.recordNavigationControl1 = new Syncfusion.Windows.Forms.Grid.GridRecordNavigationControl();
this.gridDataBoundGrid1 = new Syncfusion.Windows.Forms.Grid.GridDataBoundGrid();

this.recordNavigationControl1.Controls.Add(this.gridDataBoundGrid1);
this.gridDataBoundGrid1.DataSource = myDataSource;
コードから
using Syncfusion.Windows.Forms.Grid;
using System.Drawing;

// Create GridRecordNavigationControl
this.recordNavigationControl1 = new GridRecordNavigationControl();
this.recordNavigationControl1.Location = new Point(32, 48);
this.recordNavigationControl1.Size = new Size(520, 256);
this.recordNavigationControl1.MaxRecord = 1000;
this.recordNavigationControl1.MaxLabel = "of 1000";
this.recordNavigationControl1.NavigationBarWidth = 237;

// Create child grid
this.gridControl1 = new GridControl();
this.gridControl1.RowCount = 1000;
this.gridControl1.ColCount = 16;
this.gridControl1.NumberedRowHeaders = false;

// Add grid to navigation control
this.recordNavigationControl1.Controls.Add(this.gridControl1);

// Add to form
this.Controls.Add(this.recordNavigationControl1);

よく使われるパターン

パターン 1:ナビゲーション付きのデータバインドグリッド
using Syncfusion.Windows.Forms.Grid;
using System.Data;

// Create navigation control
var navControl = new GridRecordNavigationControl();
navControl.Location = new Point(20, 20);
navControl.Size = new Size(600, 400);

// Create data-bound grid
var dataGrid = new GridDataBoundGrid();
dataGrid.DataSource = GetDataTable(); // Your data source

// Add grid to navigation control
navControl.Controls.Add(dataGrid);

// Configure navigation
navControl.MaxRecord = dataGrid.Model.RowCount;
navControl.MaxLabel = $"of {dataGrid.Model.RowCount}";

this.Controls.Add(navControl);
パターン 2:プログラムによるナビゲーション
private RecordNavigationControl recordNavigationControl;
// Navigate to first record
this.recordNavigationControl.NavigationBar.MoveFirst();

// Navigate to last record
this.recordNavigationControl.NavigationBar.MoveLast();

// Navigate to next record
this.recordNavigationControl.NavigationBar.MoveNext();

// Navigate to previous record
this.recordNavigationControl.NavigationBar.MovePrevious();
パターン 3:スタイルを設定したナビゲーションコントロール
using Syncfusion.Windows.Forms;

// Apply Metro theme
this.recordNavigationControl1.Style = Appearance.Metro;

// Apply Office2016 theme with Black color scheme
this.recordNavigationControl1.Style = Appearance.Office2016;
this.recordNavigationControl1.GridOfficeScrollBars = OfficeScrollBars.Office2016;
this.recordNavigationControl1.Office2016ScrollBarsColorScheme = 
    ScrollBarOffice2016ColorScheme.Black;
パターン 4:ナビゲーション付きの GridGroupingControl
using Syncfusion.Windows.Forms.Grid.Grouping;

// Enable navigation bar on GridGroupingControl
this.gridGroupingControl1.ShowNavigationBar = true;

// Access navigation methods through RecordNavigationBar property
this.gridGroupingControl1.RecordNavigationBar.MoveFirst();
this.gridGroupingControl1.RecordNavigationBar.MoveNext();

主なプロパティ

プロパティ型説明
MaxRecordintデータセット内のレコード総数
MaxLabelstringレコード総数を示すラベル(例:「of 1000」)
NavigationBarWidthintナビゲーションバーの幅(ピクセル単位)
SplitBarsDynamicSplitBars分割バーの設定(None、Both、Horizontal、Vertical)
StyleAppearance外観スタイル(Default、Metro、Office2016)
Office2016ScrollBarsColorSchemeScrollBarOffice2016ColorSchemeOffice2016 の配色
GridOfficeScrollBarsOfficeScrollBarsOffice のスクロールバーのスタイル
ShowNavigationBarbool(GridGroupingControl)ナビゲーションバーを表示/非表示にします

主なメソッド

メソッド説明
MoveFirst()最初のレコードに移動します
MoveLast()最後のレコードに移動します
MoveNext()次のレコードに移動します
MovePrevious()前のレコードに移動します

一般的なユースケース

ユースケース 1:データベースビューアーアプリケーション

Microsoft Access のフォームのように、ユーザーがデータベースのレコードを一度に 1 件ずつ閲覧できるデータビューアーを作成します。

ユースケース 2:レコードエディター

データを編集しながらレコード間を移動でき、現在の位置が明確に分かるエディターインターフェイスを構築します。

ユースケース 3:大規模データセットのナビゲーション

すべてのレコードを一度に表示することなく、大規模なデータセット(1000 件以上)を効率よく移動できるようにします。

ユースケース 4:グループ化されたデータのナビゲーション

グループ構造を維持しながら、GridGroupingControl 内のグループ化されたレコードを移動します。

必要なアセンブリ

GridRecordNavigationControl を使用するには、次のアセンブリ参照を追加します。

  1. Syncfusion.Grid.Windows.dll - グリッドの主要機能とナビゲーションコントロール
  2. Syncfusion.Shared.Base.dll - 共通のスタイル、エディター、基本コンポーネント

実装チェックリスト

  • 必要なアセンブリ参照を追加する
  • GridRecordNavigationControl を作成する(デザイナーまたはコード)
  • 子グリッドコントロール(GridControl または GridDataBoundGrid)を追加する
  • MaxRecord プロパティと MaxLabel プロパティを設定する
  • データバインドグリッドを使用する場合は、データソースを設定する
  • ビジュアルスタイル/テーマを適用する(任意)
  • ナビゲーションメソッド(最初、最後、次、前)をテストする
  • カスタムナビゲーションイベントを処理する(任意)

ベストプラクティス

  1. まずデザイナーを使用:初期設定には Visual Studio デザイナーを使用します。正しい初期化コードが生成されます。
  2. 配置順序:デザイナーを使用する場合は、まずナビゲーションコントロールを配置し、次にグリッドをナビゲーションコントロール内に配置します(フォーム上ではありません)。
  3. MaxRecord の設定:正確なナビゲーションのため、MaxRecord プロパティは常にデータセットのサイズに合わせて設定します。
  4. MaxLabel の更新:データの変更に合わせて MaxLabel を同期させます。
  5. テーマの一貫性:アプリケーション内のすべての Syncfusion コントロールに同じビジュアルスタイルを適用します。
  6. アセンブリ参照:コントロールを使用する前に、必要な 2 つのアセンブリが両方とも参照されていることを確認します。

トラブルシューティング

ナビゲーションが機能しない場合:

  • 子グリッドがナビゲーションコントロールの Controls コレクションに追加されていることを確認します
  • MaxRecord が正しく設定されていることを確認します
  • グリッドにデータソースまたは行が設定されていることを確認します

デザイナーの問題:

  • グリッドコントロールはフォーム上ではなく、ナビゲーションコントロール内に配置します
  • コントロールが正しく入れ子になっていない場合は、正しい順序で作り直します

スタイルが適用されない場合:

  • Office2016 スタイルを使用する場合は、Office2016ScrollBarsColorScheme が設定されていることを確認します
  • GridOfficeScrollBars が Style プロパティと一致していることを確認します

コメント