バージョン

WinTree をデータセットまたはデータテーブルにバインド

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

このトピックでは、WinTree を DataSet または DataTable にバインドする方法について説明します。この例では型指定のない DataSet を使用してデータソースを作成しますが、型指定された DataSet(例:Visual Studio のサーバー エクスプローラを使用して作成した DataSet)に WinTree をバインドすることも可能です。

Note

注: デフォルトでは、WinTree をバインドすると、ViewStyle プロパティが Grid に解決されます。そのため、この例では ViewStyle プロパティを設定する必要はありません。

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

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

  • Infragistics.Shared.v22.2

  • Infragistics.Win.UltraWinTree.v22.2

  • Infragistics.Win.Win.v22.2

  1. ツールボックスから DataSet をフォームに追加します。[Add DataSet] ダイアログが表示されたら、[型指定のないデータセット] を選択して [OK] をクリックします。これで、"dataSet1" という名前の DataSet インスタンスが生成されます。

  2. dataSet1 を右クリックして [Properties] を選択します。プロパティ グリッドで Tables プロパティを選択し、省略記号(…​)ボタンをクリックします。テーブル コレクション エディタが表示されたら、[追加] をクリックし、TableName プロパティを "Customers" に変更します。

  3. 次に、Customers DataTable の列を定義します。Columns プロパティを選択して省略記号(…​)ボタンをクリックし、列コレクション エディタを表示します。

  4. [追加] ボタンをクリックして新しい列を作成し、その ColumnName プロパティを "Last Name" に変更します。同様に、"First Name"、"Middle Name"、"Title"の 3 つの列をデータテーブルに作成します。[OK] をクリックして列エディタを閉じ、もう一度 [OK] をクリックしてデータテーブル エディタを閉じます。

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

Note

注: デザインタイムに、基になるデータソースに行がない場合、WinTree はノード コレクションに 2 つのサンプル ノードを格納します。

WinTree Binding to a DataSet or DataTable 01.png

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

WinTree Binding to a DataSet or DataTable 02.png