次のコードは、エクスポートがどのようにOLAPコントロールのビューを保存およびロードするかを示しています。この例では、「クイックスタート」セクションで作成したサンプルを使用します。
コードの場合 (Index.cshtml)
Razor |
コードのコピー
|
---|---|
@using OLAPSample.Models; @model IEnumerable<ProductData> <br /> @(Html.C1().PivotEngine().Id("indexEngine").Bind(Model) .RowFields(pfcb => pfcb.Items("Country")) .ColumnFields(cfcb => cfcb.Items("Product")) .ValueFields(vfcb => vfcb.Items("Sales"))) @Html.C1().PivotPanel().ItemsSourceId("indexEngine") @Html.C1().PivotChart().ItemsSourceId("indexEngine") @Html.C1().PivotGrid().Id("indexGrid").ItemsSourceId("indexEngine") <button type="button" class="btn btn-default" onclick="saveView()">ビューを保存</button><br /> <button type="button" class="btn btn-default" onclick="loadView()">ビューをロード</button><br />@section Scripts{ <script src="http://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"></script> <script type="text/javascript"> function saveView() { var ng = c1.getService('indexEngine'); if (ng && ng.isViewDefined) { localStorage.viewDefinition = ng.viewDefinition; } } function loadView() { var ng = c1.getService('indexEngine'); if (ng && localStorage.viewDefinition) { ng.viewDefinition = localStorage.viewDefinition; var cmbRowTotals = wijmo.Control.getControl('#RowTotals'); if (cmbRowTotals) { cmbRowTotals.selectedValue = ng.showRowTotals; } var cmbColTotals = wijmo.Control.getControl('#ColTotals'); if (cmbColTotals) { cmbColTotals.selectedValue = ng.showColumnTotals; } var chkShowZeros = document.getElementById('ColTotals'); if (chkShowZeros) { chkShowZeros.checked = ng.showZeros; } } } </script> } |