DataGrid for WPF/Silverlight
手順 2: データソースへのグリッドの連結
製品の概要 > はじめに > クイックスタート > 手順 2: データソースへのグリッドの連結

前の手順では、グリッドアプリケーションを設定しました。ただし、この基本的なグリッドは機能しますが、データは含まれていません。この手順では、引き続き Visual Studio で作業し、プロジェクトにデータソースを追加します。その後、プロジェクトを Microsoft Expression Blend で開き、データソースにグリッドを連結します。

Visual Studio でデータソースを追加し、データ連結を設定するには、次の手順に従います。

  1. データ]メニューから[新しいデータ ソースの追加]を選択します。[データ ソース構成ウィザード]が表示されます。
  2. [データ ソース構成ウィザード][データベース]が選択されていることを確認し、[次へ]をクリックします。
  3. [データベース モデルの選択]画面が表示された場合は、[データセット]を選択し、[次へ]をクリックします。
  4. [データ接続の選択]画面で[新しい接続]ボタンをクリックし、データベースを探して接続します。[データ ソースの選択]ダイアログボックスが表示された場合は、[Microsoft Access データベース ファイル]を選択し、[続行]をクリックします。[接続の追加]ダイアログボックスが表示されます。
  5. [接続の追加]ダイアログボックスで[参照]ボタンをクリックして、NWind.mdb を見つけます。これを選択し、[開く]をクリックします。
  6. [テスト接続]ボタンをクリックしてデータベースまたはサーバーに正しく接続されていることを確認し、[OK]をクリックします。
  7. [OK]をクリックして、[接続の追加]ダイアログボックスを閉じます。[データ接続の選択]ページのデータ接続ドロップダウンリストに新しい文字列が表示されます。
  8. [次へ]ボタンをクリックして続行します。データファイルをプロジェクトに追加し、接続文字列を修正するかどうかを確認するダイアログボックスが表示されたら、[いいえ]をクリックします。これは、プロジェクトにデータベースをコピーする必要がないためです。
  9. 次のウィンドウでは、[次の名前で接続を保存する]チェックボックスが「オン」になっており、テキストボックスに自動的に名前が入力されていることを確認します("NWindConnectionString")。[次へ]をクリックして続行します。
  10. データベース オブジェクトの選択]ウィンドウで、データセットに必要なテーブルとフィールドを選択します。必要な場合は最初に[テーブル]ノードを展開し、[Products]テーブルを選択して、データセット名を ProductsDS に変更します。
  11. [完了]をクリックしてウィザードを終了します。ProductsDS.xsd ファイルがソリューションエクスプローラに表示されます。
  12. ソリューションエクスプローラで、MainWindow.xaml.cs(または MainWindow.xaml.vb)ファイルをダブルクリックしてコードビューに切り替えます。
  13. Window1.xaml.cs(または Window1.xaml.vb)ファイルの先頭に次の参照を追加します。ProjectName は、実際のプロジェクトの名前に置き換えてください。
    Visual Basic
    コードのコピー
    Imports C1.WPF.DataGrid
    Imports ProjectName.ProductsDSTableAdapters
    

    C#
    コードのコピー
    using C1.WPF.DataGrid;
    using ProjectName.ProductsDSTableAdapters;
    

    Visual Basic
    コードのコピー
    Imports C1.Silverlight.DataGrid
    Imports ProjectName.ProductsDSTableAdapters
    

    C#
    コードのコピー
    using C1.Silverlight.DataGrid;
    using ProjectName.ProductsDSTableAdapters;
    
     
  14. データベースから製品と受注明細のデータを取得するために、次のコードを MainWindow クラスに追加します。
    コードのコピー
    Class MainWindow
        Inherits Window
        Private _productsDataSet As ProductsDS = Nothing
        Public ReadOnly Property ProductsDataSet() As ProductsDS
            Get
                If _productsDataSet Is Nothing Then
                    _productsDataSet = New ProductsDS()
                    Dim prodTA As New ProductsTableAdapter()
                    prodTA.Fill(_productsDataSet.Products)
                End If
                Return _productsDataSet
            End Get
        End Property
       
        Public Sub New()
            InitializeComponent()
        End Sub
    End Class
    
    コードのコピー
    public partial class MainWindow : Window
    {
        private ProductsDS _productsDataSet = null;
        public ProductsDS ProductsDataSet
        {
            get
            {
                if (_productsDataSet == null)
                {
                    _productsDataSet = new ProductsDS();
                    ProductsTableAdapter prodTA = new ProductsTableAdapter();
                    prodTA.Fill(_productsDataSet.Products);
                }
                return _productsDataSet;
            }
        }
           
        public MainWindow()
        {
            InitializeComponent();
        }
    }
    

  15. [F5]キーを押してプロジェクトを実行し、すべての処理が正しく実行されることを確認します。実行中のアプリケーションには空のグリッドが表示されることに注意してください。コンテンツを表示するには、連結を完了する必要があります。
  16. 実行中のアプリケーションを閉じ、プロジェクトに戻ります。
  17. コードを MainWindow コンストラクタに追加します。次のようになります。
    コードのコピー
    Public Sub New()
        InitializeComponent()
        Me.C1DataGrid1.ItemsSource = ProductsDataSet.Products
    End Sub
    
    コードのコピー
    public MainWindow()
    {
       InitializeComponent();
       this.c1DataGrid1.ItemsSource = ProductsDataSet.Products;
    }
    

    このコードにより、NWind データベースの Products テーブルにグリッドが連結されます。[XAML]ビューでは、C1DataGrid タグが次のように表示されます。

    XAML
    コードのコピー
    <datagrid:C1DataGrid HorizontalAlignment="Left" Name="C1DataGrid1"
    VerticalAlignment="Top" Height="215" Width="384"/>
    

プログラムの実行と動作の確認

グリッドには Products テーブルのデータが挿入されています。

これで、DataGrid for WPF/Silverlight の C1DataGrid コントロールをデータソースに連結できました。次の手順では、グリッドアプリケーションで使用できる実行時操作をいくつか試してみます。