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
メソッドのオーバーロードを使用します。