製品版のみの機能
ピボット グリッド - リモート プロバイダー
このサンプルは、igOlapXmlaDataSource のネットワーク トラフィックのより少ないリモート プロバイダー機能を使用する主な利点を紹介します。
このサンプルは CTP 機能を使用しています。製品版では、API や動作が変更される場合があります。
ダイレクト XMLA アクセス
アップロード完了: 0KB, ダウンロード完了: 0 KB
リモート XMLA アクセス
アップロード完了: 0KB, ダウンロード完了: 0 KB
このサンプルは、より大きい画面サイズのためにデザインされました。
モバイル デバイスで画面を回転、フル サイズ表示、またはその他のデバイスにメールで送信します。
すべての要求は、クロス ドメインの問題を防止するためにサーバー アプリケーションを介してプロキシーされます。また、応答サイズを小さくするために、データが JSON に変換されます。注: このサンプルは、 OLAP データをアクセスするために、インターネット接続が必要です。
コード ビュー
クリップボードへコピー
@using Infragistics.Web.Mvc @using IgniteUI.SamplesBrowser.Models <!DOCTYPE html> <html> <head> <title></title> <!-- Ignite UI for jQuery Required Combined CSS Files --> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/structure/infragistics.css" rel="stylesheet" /> <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> <!-- Ignite UI for jQuery Required Combined JavaScript Files --> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.lob.js"></script> </head> <body> <script type="text/javascript"> $.support.cors = true; $(function () { var dataSource, remoteDataSource, remoteSize = { u: 0, d: 0 }, directSize = { u: 0, d: 0 }, $directGrid = $("#directPivotGrid"), $remoteGrid = $("#remotePivotGrid"), toggleTupleMember = function (expand, pivotGrid, axisName, tupleIndex, memberIndex) { var friendlyAxisName = axisName == "Axis0" ? "columnAxis" : "rowAxis"; if (expand) { pivotGrid.igPivotGrid("expandTupleMember", friendlyAxisName, tupleIndex, memberIndex, true); } else { pivotGrid.igPivotGrid("collapseTupleMember", friendlyAxisName, tupleIndex, memberIndex, true); } }; $(document).ajaxComplete(function (event, request, settings) { if (settings.url.match("(.*/)?remote-xmla-provider-endpoint(.*)")) { remoteSize.u += settings.data.length; remoteSize.d += request.responseText.length; $("#remoteSize").text("アップロード完了: " + (remoteSize.u / 1024).toFixed(2) + " KB, ダウンロード完了: " + (remoteSize.d / 1024).toFixed(2) + " KB").show(); } else if (settings.url === "https://sampledata.infragistics.com/olap/msmdpump.dll") { directSize.u += settings.data.length; directSize.d += request.responseText.length; $("#directSize").text("アップロード完了: " + (directSize.u / 1024).toFixed(2) + " KB, ダウンロード完了: " + (directSize.d / 1024).toFixed(2) + " KB").show(); } }); dataSource = new $.ig.OlapXmlaDataSource({ serverUrl: 'https://sampledata.infragistics.com/olap/msmdpump.dll', catalog: 'Adventure Works DW Standard Edition', cube: 'Adventure Works', rows: '[Date].[Calendar]', columns: '[Product].[Product Categories]', measures: '[Measures].[Internet Order Count]' }); remoteDataSource = new $.ig.OlapXmlaDataSource({ isRemote: true, serverUrl: '@Url.Action("remote-xmla-provider-endpoint")', catalog: 'Adventure Works DW Standard Edition', cube: 'Adventure Works', rows: '[Date].[Calendar]', columns: '[Product].[Product Categories]', measures: '[Measures].[Internet Order Count]' }); $directGrid.igPivotGrid({ dataSource: dataSource, width: "915px", height: "450px", hideFiltersDropArea: true, disableColumnsDropArea: true, disableRowsDropArea: true, disableMeasuresDropArea: true, tupleMemberExpanding: function (evt, ui) { toggleTupleMember(true, $remoteGrid, ui.axisName, ui.tupleIndex, ui.memberIndex); }, tupleMemberCollapsing: function (evt, ui) { toggleTupleMember(false, $remoteGrid, ui.axisName, ui.tupleIndex, ui.memberIndex); } }); $remoteGrid.igPivotGrid({ dataSource: remoteDataSource, width: "915px", height: "450px", hideFiltersDropArea: true, disableColumnsDropArea: true, disableRowsDropArea: true, disableMeasuresDropArea: true, tupleMemberExpanding: function (evt, ui) { toggleTupleMember(true, $directGrid, ui.axisName, ui.tupleIndex, ui.memberIndex); }, tupleMemberCollapsing: function (evt, ui) { toggleTupleMember(false, $directGrid, ui.axisName, ui.tupleIndex, ui.memberIndex); } }); }); </script> <h5>ダイレクト XMLA アクセス</h5> <h5 id="directSize">アップロード完了: 0KB, ダウンロード完了: 0 KB</h5> <div id="directPivotGrid"></div> <h5>リモート XMLA アクセス</h5> <h5 id="remoteSize">アップロード完了: 0KB, ダウンロード完了: 0 KB</h5> <div id="remotePivotGrid"></div> </body> </html>
using System.Web.Mvc; using Infragistics.Web.Mvc; using IgniteUI.SamplesBrowser.Application.Data; using System.Data; using System.Data.SqlClient; using IgniteUI.SamplesBrowser.Models.Repositories; using Newtonsoft.Json.Converters; using System.Linq; using System; namespace IgniteUI.SamplesBrowser.Controllers { public class PivotGridController : Controller { [AdomdDataSourceAction] [ActionName("adomd-provider-endpoint")] public ActionResult RemoteAdomdProviderEndpoint() { return View(new AdomdDataSourceModel() { ConnectionString = "Provider=MSOLAP.4;Persist Security Info=True;Data Source=http://sampledata.infragistics.com/olap/msmdpump.dll;Initial Catalog=Adventure Works DW Standard Edition;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error" }); } [ActionName("remote-adomd-provider")] public ActionResult AdomdProvider() { return View("remote-adomd-provider"); } [XmlaDataSourceAction] [ActionName("remote-xmla-provider-endpoint")] public ActionResult RemoteXmlaProviderEndpoint() { return View(new XmlaDataSourceModel { ServerUrl = "http://sampledata.infragistics.com/olap/msmdpump.dll" }); } [ActionName("remote-xmla-provider")] public ActionResult RemoteXmlaProvider() { return View("remote-xmla-provider"); } [ActionName("using-the-asp-net-mvc-helper-with-flat-data-source")] public ActionResult UsingAspNetMvcHelperWithFlatDataSource() { var invoices = RepositoryFactory.GetInvoiceRepository().Get().Take(200).Select(invoice => new { Address = invoice.Address, City = invoice.City, CustomerName = invoice.CustomerName, Discount = invoice.Discount, Freight = invoice.Freight, OrderDate = invoice.OrderDate == null ? null : invoice.OrderDate.Value.AddYears(16).ToShortDateString(), ProductName = invoice.ProductName, Quantity = invoice.Quantity, RequiredDate = invoice.RequiredDate == null ? null : invoice.RequiredDate.Value.AddYears(16).ToShortDateString(), Salesperson = invoice.Salesperson, ShipCountry = invoice.ShipCountry, ShippedDate = invoice.ShippedDate == null ? null : invoice.ShippedDate.Value.AddYears(16).ToShortDateString(), ShipperName = invoice.ShipperName }); return View("using-the-asp-net-mvc-helper-with-flat-data-source", invoices); } [ActionName("using-the-asp-net-mvc-helper-with-xmla-data-source")] public ActionResult UsingAspNetMvcHelperWithXmlaDataSource() { return View("using-the-asp-net-mvc-helper-with-xmla-data-source"); } } }