OLAP for WinForms
OLAP ビューの維持
クイックスタート > C1OlapPage のカスタマイズ > OLAP ビューの維持

最初に、デフォルトビューを以前のアプリケーションに追加します。これを行うには、Visual Studio プロジェクトのソリューションエクスプローラーでプロジェクトノードを右クリックして[プロパティ]項目をクリックし、次に[設定]タブを選択し、"DefaultView" と呼ばれる文字列型の新しい設定を作成します。

 

この設定を使用すると、セッションをまたいでビューが維持されるため、ユーザーが行ったカスタマイズは、アプリケーションを閉じるときに自動的に保存され、次回に実行するときに復元されます。

この動作を有効にするには、"Form1" フォームを開き、コードビューに切り替え、次のコードをアプリケーションに追加します。

コード
コードのコピー
private void Form1_Load(object sender, EventArgs e)
{
    // 自動生成されます。
    // このコードの行は、データを 'nWINDDataSet.Invoices' テーブルにロードします。
    this.invoicesTableAdapter.Fill(this.nWINDDataSet.Invoices);
 
    // デフォルトビューを表示:これはアプリケーションを想定しています
    // "DefaultView" と呼ぶ文字列型の設定
    var view = Properties.Settings.Default.DefaultView;
    if (!string.IsNullOrEmpty(view))
    {
        c1OlapPage1.ViewDefinition = view;
    }
    else
    {
        // デフォルトビューを作成します
        var olap = c1OlapPage1.OlapEngine;
        olap.BeginUpdate();
        olap.RowFields.Add("ProductName");
        olap.ColumnFields.Add("Country");
        olap.ValueFields.Add("ExtendedPrice");
        olap.EndUpdate();
    }
}
 
// フォームを閉じ、次回のために現在のビューをデフォルトとして保存します
protected override void OnClosing(CancelEventArgs e)
{
    // 現在のビューを新しいデフォルトとして保存します
    Properties.Settings.Default.DefaultView = c1OlapPage1.ViewDefinition;
    Properties.Settings.Default.Save();
 
    // イベントを通常どおりに発生させます
    base.OnClosing(e);
}

最初の行は、フォームを開いたときに既に存在している必要があります。これは、データをロードするために自動的に生成されました。

コードの次のブロックは、"DefaultView" 設定が既に使用できる状態かどうかをチェックします。使用できる場合は、それを C1OlapPage.ViewDefinition プロパティに割り当てます。これは、すべてのチャートオプション、グリッドオプション、レポートオプションに加え、それぞれのプロパティを含むすべてのフィールドなど、ビュー設定全体に適用されます。

"DefaultView" 設定が使用できない場合、コードは、RowFields コレクション、ColumnFields コレクション、および ValueFields コレクションにフィールドを追加してビューを作成します。作成されるビューでは、売上(合計価格の合計)が製品別および国別に表示されます。

コードの次のブロックは、フォームの OnClosing メソッドをオーバーライドし、C1OlapPage.ViewDefinition プロパティを読み取って "DefaultView" 設定に割り当てて保存することにより、現在のビューを保存します。

ここでプロジェクトを実行すると、コードで作成されたデフォルトビューでプロジェクトが開始されます。ビューに任意の変更を加えてからアプリケーションを終了し、再起動して、変更が復元されていることを確認します。