<Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition /> </Grid.RowDefinitions> <!--TODO: Button コントロールを追加します--> <!--TODO: xamDataPresenter コントロールを追加します--> </Grid>
このトピックでは、xamDataPresenter コントロールを使用して、Word へのデータの エクスポートを実装する方法を説明します。
DataPresenter コントロールは、DataPresenterExcelExporter クラスを使用して、Microsoft® Word® フォーマットでデータをエクスポートできます。 DataPresenterWordWriter クラスは、特定の DataPresenterBase の値/レイアウトを表すテーブルを含む Word 文書を作成するすべての作業をカプセル化します。
DataPresenterWordWriter クラスはビジュアル要素ではありません。このため、ウィンドウのビジュアル ツリーに追加できません。ただし、XAML で DataPresenterWordWriter オブジェクトのインスタンスを作成したい場合には、ウィンドウのリソースディクショナリに追加できます。
データをエクスポートできるようにするには、以下の参照をプロジェクトに追加する必要があります(ソリューション エクスプローラーで)。
InfragisticsWPF4.v20.2.dll
InfragisticsWPF4.Editors.v20.2.dll
InfragisticsWPF4.DataPresenter.v20.2.dll
InfragisticsWPF4.DataPresenter.WordWriter.v20.2.dll
エクスポート手順の概念的な概要
グリッドを追加
エクスポート ボタンを追加
xamDataPresenter コントロールを追加
コード ビハインドに using/imports のディレクティブを追加
(条件付き) Button の Click イベントのイベント ハンドラーを追加
DataPresenterWordWriter オブジェクトのインスタンスを作成
エクスポート メソッドを呼び出す
(条件付き) 実装を検証
グリッドを追加します。
2 つの RowDefinition オブジェクトがある Grid パネルをウィンドウに追加します。
XAML の場合:
<Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition /> </Grid.RowDefinitions> <!--TODO: Button コントロールを追加します--> <!--TODO: xamDataPresenter コントロールを追加します--> </Grid>
エクスポート ボタンを追加します。
Button コントロールを Grid パネルの最初の行に追加します。
Content プロパティを "Export DataPresenter" に設定します。
イベント ハンドラーを Click イベントに添付します。
XAML の場合:
<Button Content="Export DataPresenter" Click="Button_Click" />
xamDataPresenter コントロールを追加します。
xamDataPresenter コントロールを Grid パネルの 2 番目の行に追加します。
Name プロパティを xamDataPresenter1 に設定します。
BindToSampleData プロパティを True に設定します。
XAML の場合:
<igDP:XamDataPresenter Name="xamDataPresenter1" BindToSampleData="True"> </igDP:XamDataPresenter>
コード ビハインドに using/imports のディレクティブを追加します。
コード ビハインドを開き、コード ビハインド内に using/Imports のディレクティブを配置すれば、メンバーの完全に記述された名前を常にタイプする必要がなくなります。コードでインスタンスを作成する代わりに、DataPresenterWordWriter オブジェクトのインスタンスをウィンドウのリソース ディクショナリに追加したい場合には、XML 名前空間宣言を追加することが必要になります。
XAML の場合:
xmlns:igWordWriter="http://infragistics.com/WordWriter"
Visual Basic の場合:
imports Infragistics.Windows.DataPresenter.WordWriter
C# の場合:
using Infragistics.Windows.DataPresenter.WordWriter;
(条件付き) Button の Click イベントのイベント ハンドラーを追加します。
メソッド スタブが作成されていない場合には、Button コントロールの Click イベントのイベント ハンドラーを追加することが必要になります。
Visual Basic の場合:
Private Sub Button_Click(sender As Object, e As RoutedEventArgs) 'TODO: DataPresenterWordWriter オブジェクトのインスタンスを作成します 'TODO: DataPresenterWordWriter オブジェクトの Export メソッドを呼び出します End Sub
C# の場合:
private void Button_Click(object sender, RoutedEventArgs e) { //TODO: DataPresenterWordWriter オブジェクトのインスタンスを作成します //TODO: DataPresenterWordWriter オブジェクトの Export メソッドを呼び出します }
DataPresenterWordWriter オブジェクトのインスタンスを作成します。
XAML でインスタンスを作成している場合には、ウィンドウのリソース ディクショナリに追加できます。
XAML の場合:
<Window.Resources> <igWordWriter:DataPresenterWordWriter x:Key="wordWriter1" /> </Window.Resources>
Visual Basic の場合:
Dim writer As New DataPresenterWordWriter() ' DataPresenterWordWriter オブジェクトを ' ウィンドウのリソース ディクショナリに追加した場合には、コードのこの行を使用します ' Dim writer As DataPresenterWordWriter = ' DirectCast(Me.Resources("wordWriter1"), DataPresenterWordWriter)
C# の場合:
DataPresenterWordWriter writer = new DataPresenterWordWriter(); // DataPresenterWordWriter オブジェクトを // ウィンドウのリソース ディクショナリに追加した場合には、コードのこの行を使用します // DataPresenterWordWriter writer = // (DataPresenterWordWriter)this.Resources["wordWriter1"];
エクスポート メソッドを呼び出します。
データを同期でエクスポートするか、非同期でエクスポートするかによって、 Export と ExportAsync の 2 つのメソッドを選択できます。
データを同期でエクスポートするには:
DataPresenterWordWriter オブジェクトの Export メソッドを呼び出します。
Visual Basic の場合:
writer.Export(Me.xamDataPresenter1, "xamDataPresenter1.docx")
C# の場合:
writer.Export(this.xamDataPresenter1, "xamDataPresenter1.docx");
データを非同期でエクスポートするには:
DataPresenterWordWriter オブジェクトの ExportAsync を呼び出してデータを非同期でエクスポートします。
Visual Basic の場合:
writer.ExportAsync(Me.xamDataPresenter1, "xamDataPresenter1.docx")
C# の場合:
writer.ExportAsync(this.xamDataPresenter1, "xamDataPresenter1.docx");
(条件付き) 実装を検証します。
プロジェクトを実行して、エクスポート ボタンをクリックします。これによって xamDataPresenter コントロールが Word にエクスポートされます。