String customizations = dataSource.SaveCustomizations();
このトピックは、データが xamPivotGrid™ コントロールで提示される方法になされたユーザー カスタマイズを保存および読み込む方法について説明します。
このトピックを理解するためには、以下のトピックを理解しておく必要があります。
このトピックは、以下のセクションで構成されます。
xamPivotGrid では、ユーザーは以下の要素におけるデータ スライドを示すビューをカスタマイズできます。
選択されたデータベース
選択されたキューブ
選択されたメジャー グループ
行、列、フィルターで使用される現在の階層
現在のメジャー
メジャー リスト表示モデルの位置 (該当する場合)
フィルター メンバーの拡張状態
フィルター メンバーの選択状態
メンバーの拡張状態 (行と列の場合)
現在適用される並べ替え順序 (レベル内の値とメンバー名の両方の場合)
適用された Excel®-スタイル フィルター (Advanced フィルター)
レイアウト更新状態の遅延
これらのカスタマイズに関する情報は、 xamPivotGrid コントロールによって使用されるデータ ソース コントロール ( FlatDataSource™ および XmlaDataSource™) および xamDataChart™ コントロールの OlapXAxis™ コンポーネントに保存され、結果としてロードされます。
xamPivotGrid の現在のビューを保存するには、そのビューを定義するプロパティの現在の値を保存する必要があります。すべての関連情報は、 xamPivotGrid の DataSource プロパティの値としてデータ ソース インスタンス セットで利用可能です。DataSourceBase クラス (その他のすべての多次元 (OLAP) データ ソース継承)、データ ソースの現在の状態を保存およびロードするための拡張メソッドを公開します。カスタマイズは、文字列またはストリームに書き込むことができます。
実際の保存は、 SaveCustomizations メソッドによって行われます。このメソッドには 2 つのオーバーロードがあります。1 つは、保存されるカスタマイズを含む文字列を返し、もう 1 つはスカスタマイズが書き込まれるストリームを期待します。設定によりいずれかを起動します。
LoadCustomizations は以前に [_Saving_customizations]saved customizations をロードしています。保存されたカスタマイズは、文字列またはストリームからロードできます。これに加え両方の場合で、ロード完了時にアクションを実行するよう指定できます。したがって、LoadCustomizations メソッドには各パラメータの組み合わせに対して 1 つずつ、オーバーロードが 4 つあります。
実際、ロードの実装は、通常、なんらかのロード後アクションの構成と共に行います。たとえば、カスタマイズのロード プロセスには時間がかかるため、終了時に一部のカスタム コードを実行する、またはその完了を知らせるようにします。そのためには、アクション パラメータを受け付ける LoadCustomizations オーバーロードの 1 つを呼び出します。ロード プロセスが終了すると、アクションが実行されます。そのアクションは、ロード プロセス中に発生したエラーの説明を含む文字列パラメータをエラーが発生した場合に受け付けます。
以下は、カスタマイズを保存しロードするための一般要件です。
データ要件
一連のカスタマイズをロードするには、ロード元とロード先のデータ ソースは同じデータベース (メタデータ) 構造である必要があります。そうでないと、ロード プロセスは失敗するか不完全になります。
参照
Infragistics.Olap 名前空間における DataSourceBase クラスに対して SaveCustomizations と LoadCustomizations を定義
Infragistics.Olap 名前空間に対するusing/Imports ディレクティブ
以下の表は、 SaveCustomizations メソッドによって保存される構成可能要素を、該当するそれぞれのプロパティおよびデータ ソース タイプにマッピングしたものです。
以下のプロシージャは、データ ソースのカスタマイズを保存するプロセスを示します。ユーザー カスタマイズを保存するには、 SaveCustomizations メンバーのいずれかが呼び出されます。例 Code は、dataSource という名前の DataSourceBase タイプの変数 (またはそこから継承したクラス) がデータ ソース オブジェクトへの参照を保持するとみなします。
C# の場合:
String customizations = dataSource.SaveCustomizations();
Visual Basic の場合:
Dim customizations = dataSource.SaveCustomizations()
C# の場合:
using (Stream stream = [initialize the stream here])
{
dataSource.SaveCustomizations(stream);
}
Visual Basic の場合:
Using stream As [initialize the stream here]
dataSource.SaveCustomizations(stream)
End Using
以下のプロシージャは、多次元 (OLAP) データ ソースの以前に保存されたカスタマイズをロードします。
プロシージャには、ロード後のアクションを構成する任意のステップ、この場合はメッセージ ボックスにロード エラーを表示すること、が含まれます。そのためにサンプル メソッド (LoadCompletedAction) が定義されます。
この手順を実行するには、以下が必要です。
dataSource という名前の DataSourceBase タイプの変数 (またはそこから継承したクラス) がデータ ソース オブジェクトへの参照を保持
以下はプロセスの概念的概要です。
(任意) ロード後のアクションを定義
LoadCustomizations メソッドの呼び出し
以下の手順では、カスタマイズのロード方法を紹介します。
(任意) ロード後のアクションを定義します。
以下のコードス ニペットは、メッセージ ボックスにロード エラーを表示するサンプル メソッドを定義します。
C# の場合:
public void LoadCompletedAction(string loadErrors)
{
if(!string.IsNullOrWhiteSpace(loadErrors))
{
MessageBox.Show(loadErrors);
}
}
Visual Basic の場合:
Public Sub LoadCompletedAction(loadErrors As String)
If Not String.IsNullOrWhiteSpace(loadErrors) Then
MessageBox.Show(loadErrors)
End If
End Sub
LoadCustomizations メソッドを呼び出します。
以前に文字列またはストリームに保存されていたカスタマイズをロードするには、String または Stream 引数を渡す LoadCustomization メソッドのいずれかを呼び出します。
以下のコード スニペットは、アクション引数を渡す際に文字列からカスタマイズをロードする方法を示します。
C# の場合:
dataSource.LoadCustomizations(customizations, LoadCompletedAction);
// または
using(Stream customizations = [initialize stream here])
{
dataSource.LoadCustomizations(customizations, LoadCompletedAction);
}
Visual Basic の場合:
dataSource.LoadCustomizations(customizations, LoadCompletedAction)
‘ or
Using stream As [initialize the stream here]
dataSource.LoadCustomizations(customizations, LoadCompletedAction)
End Using
アクション パラメータ (LoadCompletedAction) を指定しない場合は、1 つの引数のみを受け付ける LoadCustomizations メソッドのオーバーロードを使用します。