最初に、デフォルトビューを以前のアプリケーションに追加します。これを行うには、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" 設定に割り当てて保存することにより、現在のビューを保存します。
ここでプロジェクトを実行すると、コードで作成されたデフォルトビューでプロジェクトが開始されます。ビューに任意の変更を加えてからアプリケーションを終了し、再起動して、変更が復元されていることを確認します。