バージョン

WinTree を WinDataSource にバインド

Ultimate UI for Windows Forms 2005 Volume 2 の WinTree には、列サポートに加えて、コントロールのバインド機能も追加されました。DataSource プロパティと DataMember プロパティを使用してルート ノード コレクションをバインドできます。また、ノード コレクションの SetDataBindingMethod を使用して、特定のノードの Nodes コレクションの内容をバインドすることもできます。WinTree は IList または IBindingList データソースにバインド可能で、AutoGenerateColumnSets を True に設定すれば、UltraTreeColumnSetUltraTreeNodeColumn オブジェクトをデータソースに基づいて自動的に生成できます。

このトピックでは、WinDataSource コントロールを使用して WinTree をバインドする方法について説明します。まず UltraDataSource デザイナを使用してスキーマを設計し、それから、Grid ViewStyle に設定された WinTree が UltraDataSource からのスキーマを使用したときに表示がどのように変わるかを調べます。

  1. 新しい Windows アプリケーションを作成し、デザイン ビューでフォームを開きます。ツールボックスから WinTree をフォームに追加し、その Dock プロパティをFillに設定します。

WinTree をプロジェクトに追加すると、次の 3 つの参照が追加されます。

  • Infragistics.Shared.v21.2

  • Infragistics.Win.UltraWinTree.v21.2

  • Infragistics.Win.Win.v21.2

  1. UltraDataSource をプロジェクトに追加します。これにより、次の参照がプロジェクトに追加されます。

    • Infragistics.Win.UltraDataSource.v21.2

  1. コンポーネント トレイにある ultraDataSource1 を右クリックして、コンテキスト メニューから [UltraDataSource デザイナ] を選択します。次のようなデザイナ ダイアログが表示されます。

WinTree Binding to the WinDataSource 01.png
  1. [データバンド] ヘッダの下で "Band 0" を選択し、[F2] キーを押すか、ダイアログの右側のプロパティ グリッドで Key プロパティを選択して、キーを "Customers" に変更します。

WinTree Binding to the WinDataSource 02.png
  1. [データ列] ヘッダの下で [追加] ボタンをクリックして列を作成します。[追加] ボタンをクリックすると項目が編集モードになり、新しい項目のキーを変更できます。4 つの列をこのバンドに追加し、それぞれの Key を "Last Name"、"First Name"、"Middle Name"、"Title" に変更します。

WinTree Binding to the WinDataSource 03.png
  1. 4 つの列を作成したら、左のツリーで [データ入力] ノードをクリックします。データ行を作成するためのグリッドが右側に表示されます。次のスクリーンショットのとおりにデータを入力します。[OK] をクリックしてダイアログを閉じます。

WinTree Binding to the WinDataSource 04.png
  1. この UltraDataSource スキーマを WinTree のデータソースとして設定するには、WinTree を右クリックして [プロパティ] を選択します。プロパティ グリッドで DataSource プロパティを選択し、ドロップダウン矢印をクリックします。作成した UltraDataSource(例:ultraDataSource1)を選択します。WinTree に "Customers" バンドを表す単一ルート ノードが表示されます。これは"バンド"ノードと呼ばれる特殊なタイプのバインド ノードで、基になるデータソースに含まれるリストの名前を表示します。このノードの展開インジケータをクリックすると、作成した列構造が表示されます。ここまでで、ツリーは次のスクリーンショットのようになります。

WinTree Binding to the WinDataSource 05.png
  1. ここで、プロパティ グリッドで DataMember プロパティを選択し、ドロップダウン矢印からデータソースで定義したバンド(例:"Customers")を選択できます。こうすると、バンドノードが削除され、グリッド構造がルート レベルに表示されます。

WinTree Binding to the WinDataSource 06.png
  1. これで基本的な構造は完成したので、次に UltraDataSource デザイナを再び表示し、子バンドを作成してルート顧客ノードのバインドされた子ノードを作成できます。たとえば次の図では、"Address" という名前の子バンドを "Customers" バンドに追加してから、その新しいバンドに "Address"、"City"、"State"、"Zip Code" の 4 つの列を追加しています。

WinTree Binding to the WinDataSource 07.png