バージョン

WebDataTree を WebHierarchicalDataSource にバインドします

始める前に

WebDataTree™ を使用して、ツリーのような構造で階層データを表すことができます。Datasets、カスタム オブジェクト、xml ファイルおよび ObjectDataSource など(2、3 例を挙げると)の多くのソースによって階層データを提供できます。WebHierarchicalDataSource™ コンポーネントは階層データ モデルを作成して表すために使用できます。

達成すること

WebHierarchicalDataSource データを表示する階層ツリーを作成します。WebHierarchicalDataSource コントロールは 2 つのフラットなデータ ソースで構成されます。

このトピックでは、Northwind Access データベースの Categories および Products テーブルを使用して、それぞれの CategoryID フィールドによってリンクされる 2 レベルの階層を作成します。

次の手順を実行します

  1. Visual Studio™ ツールボックスから、ひとつの ScriptManager コンポーネント、2 つの AccessDataSource コンポーネント、ひとつの WebHierarchicalDataSource コンポーネント、そしてひとつの WebDataTree コントロールを Web フォームにドラッグ アンド ドロップします。AccessDataSource コンポーネントを categoriesDataSource と productsDataSource に命名します。

  2. この手順で、AccessDataSources が構成されます。

    • categoriesDataSource コンポーネントのスマート タグをクリックして、[データ ソースの構成] を選択します。[データ ソースの構成] ウィザードが表示します。

    • [参照…​] ボタンをクリックして、[Microsoft Access Database を選択] ダイアログを開きます。Northwind データベース ファイルを選択して(アクセス データベース ファイルを App_Data フォルダーにコピーしてあることを前提とします)[OK] をクリックします。

    • [次へ] をクリックして、[Select ステートメントの構成] を開きます。ここで Categories テーブルからすべての列を選択するような Select ステートメントを構成します。

    • [次へ] をクリックして、[クエリのテスト] ボタンをクリックすることでクエリをテストします。[終了] をクリックして [データ ソースの構成] ダイアログを閉じます。

Products テーブルからすべての列を選択するように productsDataSource を構成するために上記の手順を繰り返します。

  1. WebHierarchicalDataSource を構成します:

    • WebHeierarchicalDataSource コンポーネントのスマート タグをクリックして、[リレーションシップの編集] を選択します。WebHierarchicalDataSource デザイナーが表示されます。

    • [表示の追加] をクリックして使用可能なデータ ソースを選択します。Data Source ドロップダウン リストから categoriesDataSource を選択して [OK] をクリックします。

    • [子の追加] をクリックして次のノード レベルを作成します。[子データ ソース] ドロップダウン リストから productsDataSource を選択します。

    • 今度は関係のための列を選択することによって、2 つのデータ ソースの間の関係を追加します。

      • [親列] ドロップダウン リストで [CategoryID] を選択します。

      • [子列] ドロップダウン リストで [CategoryID] を選択します。

    • [OK] をクリックして 2 つのデータ ソース間の関係の追加を終了します。これで WebHierarchicalDataSource デザイナーは以下の画像のようになります。

images\WebDataTree Binding WebDataTree to WebHierarchicalDataSource 01.png
  • [Apply]、[OK] の順にクリックしてデザイナーを閉じます。

  1. この時点は WebDataTree はデータを表示しません。WebHierarchicalDataSource の ID を WebDataTree の DataSourceID に設定します。データ バインディングを指定するには、WebDataTree デザイナー ダイアログを開くために WebDataTree コントロールのスマート タグから [DataBindings の編集] をクリックします。

  2. categoriesDataSource_DefaultView を選択して [データバインディングの追加] をクリックします。これによってノードが選択されたバインディング領域に追加されます。プロパティ ウィンドウでドロップダウン リストをクリックして TextField プロパティを CategoryName に設定し、CategoryName がノードの表示テキストになるようにします。同様に、 ValueField プロパティを CategoryID に設定します。

  3. 上記の手順を繰り返して以下のデータ バインディングを productsDataSource_DefaultView に追加します:

TextField ValueField

製品名

ProductID

  1. WebDataTree デザイナーの外観は以下の画像のようになります。

images\WebDataTree Binding WebDataTree to WebHierarchicalDataSource 02.png
  1. [OK] をクリックしてデザイナーを終了します。

  2. アプリケーションを保存して実行します。WebDataTree は以下の画像のようになるはずです。

images\WebDataTree Binding WebDataTree to WebHierarchicalDataSource 03.png