... <igDP:XamDataPresenter Name="xamDataPresenter1"> </igDP:XamDataPresenter> ...
DataSet を含め、複数の異なるデータ ソースに DataPresenter コントロールをバインドできます。XAML を使用して DataPresenter コントロールを DataSet にバインドしたい場合、ビジネス オブジェクトのコレクションの代わりに DataSet を返す ObjectDataProvider を作成できます。このロジックに実装する必要がある XAML 宣言は、 xamDataPresenter をコレクションにバインドするための XAML 宣言と非常に似ています。ただし、以下の手順はプロシージャ コードを使用して xamDataPresenter を DataSet にバインドします。
SampleDataUtil という名前の単純なデータ アクセス クラスは、C# と VB.NET で利用可能で、ダウンロードしてこのサンプルで作業をする間にプロジェクトで使用することができます。SampleDataUtil クラスは、Microsoft® SQL Server に Northwind データベースがインストールされていることを想定します。SampleDataUtil クラスのコードは、このトピックの範囲を超える場合はカバーされません。
XAML を使用して xamDataPresenter を作成します。xamDataPresenter を DataSet にバインドするためにプロシージャ コードを書きます。
xamDataPresenter コントロールを Window に追加して名前を付けます。
XAML の場合:
... <igDP:XamDataPresenter Name="xamDataPresenter1"> </igDP:XamDataPresenter> ...
Window の Loaded イベントにイベント ハンドラーを接続します。
XAML の場合:
<Window ... Loaded="Window_Loaded" ... >
コード ビハインドでは、Window の Loaded イベントのイベント ハンドラーを見つけます。
Visual Basic の場合:
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) ' TODO: データを取得し、コントロールのデータ ソースを設定します。 End Sub
C# の場合:
private void Window_Loaded(object sender, RoutedEventArgs e) { // TODO: データを取得し、コントロールのデータ ソースを設定します。 }
Northwind データベースの Customers テーブルのデータを取得します。
SampleDataUtil クラスから GetCustomers(文字列 serverAddress)メソッドを使用できます。Northwind データベースが置かれているサーバー アドレスに渡すことを確認します。
Visual Basic の場合:
Dim customerDS As System.Data.DataSet = SampleDataUtil.GetCustomers(".\SQLExpress")
C# の場合:
System.Data.DataSet customerDS = IGDocumentation.SampleDataUtil.GetCustomers(".\\SQLExpress");
xamDataPresenter コントロールの DataSource プロパティを DataSet で Customers DataTable の DefaultView プロパティに設定します。
Visual Basic の場合:
If customerDS.Tables("Customers") IsNot Nothing Then Me.xamDataPresenter1.DataSource = customerDS.Tables("Customers").DefaultView End If
C# の場合:
if(customerDS.Tables["Customers"] != null) this.xamDataPresenter1.DataSource = customerDS.Tables["Customers"].DefaultView;
Northwind データベースから顧客情報を表示するためにプロジェクトを実行します。