Skip to content

Commit 9034fb6

Browse files
author
Kendo Bot
committed
Sync with Kendo UI Professional
1 parent b068688 commit 9034fb6

File tree

22 files changed

+789
-22
lines changed

22 files changed

+789
-22
lines changed

docs-aspnet-core/_config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,12 @@ navigation:
131131
position: 7
132132
"html-helpers/data-management/pivotgrid":
133133
title: "PivotGrid"
134+
"html-helpers/data-management/pivotgrid/data-binding":
135+
title: "Data Binding"
136+
position: 2
137+
"html-helpers/data-management/pivotgrid/export":
138+
title: "Export"
139+
position: 6
134140
"html-helpers/data-management/spreadsheet/import-and-export-data":
135141
title: "Import and Export of Data"
136142
"html-helpers/data-management/spreadsheet/end-user":
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: PivotConfigurator
3+
page_title: PivotConfigurator Overview | Telerik UI PivotGrid HtmlHelper for ASP.NET Core
4+
description: "Get started with the Telerik UI PivotGrid HtmlHelper for ASP.NET Core and learn how to create and configure the Telerik UI PivotGrid Configurator."
5+
slug: htmlhelpers_pivotgrid_aspnetcore_configurator
6+
position: 4
7+
---
8+
9+
# PivotConfigurator Overview
10+
11+
The [Telerik UI PivotConfigurator HtmlHelper for ASP.NET Core](/api/pivotconfigurator) represents an OLAP cube structure.
12+
13+
It PivotConfigurator can be used for configuring the column and row dimensions, and the measure fields of the [PivotGrid](https://demos.telerik.com/aspnet-core/pivotgrid/index). It is a supplementary component which is strongly related to the Telerik UI PivotDataSource.
14+
15+
## Initializing the PivotConfigurator
16+
17+
The following example demonstrates how to create the PivotConfigurator.
18+
19+
@(Html.Kendo().PivotConfigurator()
20+
.Name("configurator")
21+
.Filterable(true)
22+
.Height(570)
23+
)
24+
25+
@(Html.Kendo().PivotGrid()
26+
.Name("pivotgrid")
27+
.Height(570)
28+
.Filterable(true)
29+
.Configurator("#configurator")
30+
// Other configuration.
31+
)
32+
33+
## Basic Configuration
34+
35+
The following example demonstrates how to configure the PivotConfigurator.
36+
37+
@(Html.Kendo().PivotConfigurator()
38+
.Name("configurator")
39+
.Filterable(true)
40+
.Sortable()
41+
.Height(570)
42+
)
43+
44+
@(Html.Kendo().PivotGrid()
45+
.Name("pivotgrid")
46+
.ColumnWidth(200)
47+
.Height(570)
48+
.Filterable(true)
49+
.Sortable()
50+
.Configurator("#configurator")
51+
.DataSource(dataSource => dataSource.
52+
Xmla()
53+
.Columns(columns => {
54+
columns.Add("[Date].[Calendar]").Expand(true);
55+
columns.Add("[Product].[Category]");
56+
})
57+
.Rows(rows => rows.Add("[Geography].[City]"))
58+
.Measures(measures => measures.Values(new string[]{"[Measures].[Reseller Freight Cost]"}))
59+
.Transport(transport => transport
60+
.Connection(connection => connection
61+
.Catalog("Adventure Works DW 2008R2")
62+
.Cube("Adventure Works"))
63+
.Read(read => read
64+
.Url("https://demos.telerik.com/olap/msmdpump.dll")
65+
.DataType("text")
66+
.ContentType("text/xml")
67+
.Type(HttpVerbs.Post)
68+
)
69+
)
70+
.Events(e => e.Error("onError"))
71+
)
72+
)
73+
74+
The following image demonstrates the output from the previous example.
75+
76+
![Kendo UI PivotConfigurator](pivotconfigurator.png)
77+
78+
## Referencing Existing Instances
79+
80+
To reference an existing PivotConfigurator instance, use the [`jQuery.data()`](http://api.jquery.com/jQuery.data/) method. Once a reference has been established, use the [PivotConfigurator client-side API](/api/web/pivotconfigurator) to control its behavior.
81+
82+
var pivotconfigurator = $("#pivotconfigurator").data("kendoPivotConfigurator");
83+
84+
## See Also
85+
86+
* [OLAP Cube Fundamentals]({% slug htmlhelpers_pivotgrid_aspnetcore_fundamentals %})
87+
* [OLAP Cube Setup]({% slug htmlhelpers_pivotgrid_aspnetcore_olap_cube_setup %})
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: OLAP Fundamentals
3+
page_title: OLAP Fundamentals | Telerik UI PivotGrid HtmlHelper for ASP.NET Core
4+
description: "Get started with the Telerik UI PivotGrid HtmlHelper for ASP.NET Core and review all fundamental OLAP concepts when binding the Telerik UI PivotGrid HtmlHelper for ASP.NET Core to data by using OLAP services."
5+
slug: htmlhelpers_pivotgrid_aspnetcore_fundamentals
6+
position: 2
7+
---
8+
9+
# OLAP Fundamentals
10+
11+
The PivotGrid resembles a [pivot table](http://en.wikipedia.org/wiki/Pivot_table) that uses Online Analytical Processing (OLAP) concepts for representing multidimensional data.
12+
13+
## What Is OLAP?
14+
15+
OLAP is an acronym that stands for Online Analytical Processing. It allows access to data that is aggregated and organized in a multidimensional structure that is called a "cube". OLAP tools enable users to interactively perform analysis over multidimensional data.
16+
17+
For more information, refer to the following resources:
18+
* [OLAP definition (Wikipedia)](http://en.wikipedia.org/wiki/Online_analytical_processing)
19+
* [Working with Online Analytical Processing (MSDN)](http://msdn.microsoft.com/en-US/library/ms175367(v=SQL.90).aspx)
20+
21+
## What Is an OLAP Cube?
22+
23+
The OLAP cube is a dataset that is organized in a multidimensional manner. Every cube has 0 (zero) or more dimensions. The cube allows the performance of different operations which answer complex analytical queries. The OLAP cube introduces concepts like facts, measures, and dimensions.
24+
25+
For more information, refer to the following resources:
26+
* [OLAP cube definition (Wikipedia)](http://en.wikipedia.org/wiki/OLAP_cube)
27+
* [Understanding OLAP cubes (MSDN)](http://msdn.microsoft.com/en-us/library/aa140038%28v=office.10%29.aspx#odc_da_whatrcubes_topic2)
28+
29+
## What Are the Basic OLAP Cube Concepts?
30+
31+
* A [fact](http://social.technet.microsoft.com/wiki/contents/articles/1236.fact-olap.aspx) is the most detailed piece of information that can be measured.
32+
* A [measure](http://social.technet.microsoft.com/wiki/contents/articles/1235.measure-group.aspx) is an aggregated value of facts.
33+
* A [dimension](http://social.technet.microsoft.com/wiki/contents/articles/1192.dimension.aspx) is a categorical view of data.
34+
35+
## What Is XMLA?
36+
37+
XMLA is an acronym that stands for [XML for Analysis](http://en.wikipedia.org/wiki/XML_for_Analysis). XMLA is a protocol that is designed for universal data access to a multidimensional data source which resides on the Web. For more information, refer to [this article](http://technet.microsoft.com/en-us/library/ms187178(v=sql.90).aspx).
38+
39+
The [`PivotDataSource`](/api/pivotdatasource) configuration provides built-in support for XMLA by using specific XMLA [`transport`](/api/pivotdatasource#transportsystemactionkendomvcuifluentpivotajaxdatasourcetransportbuilder) and [`schema`](/api/pivotdatasource#schemasystemactionkendomvcuifluentpivotajaxdatasourceschemabuildertmodel) options.
40+
41+
## See Also
42+
43+
* [OLAP Cube Setup]({% slug htmlhelpers_pivotgrid_aspnetcore_olap_cube_setup %})
44+
* [PivotConfigurator Overview]({% slug htmlhelpers_pivotgrid_aspnetcore_configurator %})
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
---
2+
title: OLAP Cube Setup
3+
page_title: OLAP Cube Setup | Telerik UI PivotGrid HtmlHelper for ASP.NET Core
4+
description: "Get started with the Telerik UI PivotGrid HtmlHelper for ASP.NET Core and learn how to set up the OLAP cube when working with the Telerik UI PivotGrid HtmlHelper for ASP.NET Core."
5+
slug: htmlhelpers_pivotgrid_aspnetcore_olap_cube_setup
6+
position: 3
7+
---
8+
9+
# OLAP Cube Setup
10+
11+
You can set up the OLAP cube by using Microsoft SQL Server Analysis Services [SSAS](http://technet.microsoft.com/en-us/library/ms175609(v=sql.90).aspx).
12+
13+
## Installing SSAS
14+
15+
For more information on installing the [SQL Server Analysis Services](http://technet.microsoft.com/en-us/library/ms175609(v=sql.90).aspx), refer to the [MSDN tutorial](http://msdn.microsoft.com/en-us/library/hh403424(v=sql.110).aspx).
16+
17+
## Defining the OLAP Cube
18+
19+
For more information on creating, defining, and deploying the OLAP multidimensional cube, refer to the [MSDN multidimensional modelling tutorial](http://msdn.microsoft.com/en-us/library/ms170208(v=sql.110).aspx).
20+
21+
## Configuring the HTTP Access
22+
23+
To enable the HTTP access to the SQL Server Analysis Services, use an `MSMDPUMP.ddl` ISAPI extension.
24+
25+
* For more information on setting up the `MSMDPUMP.ddl` extension, refer to the [MSDN HTTP access tutorial](http://technet.microsoft.com/en-us/library/gg492140.aspx).
26+
* For an online accessible OLAP service for testing purposes, use `http://demos.telerik.com/olap/msmdpump.dll`. The URL does not open directly in the browser.
27+
28+
## Enabling the Cross-Domain Access
29+
30+
> If the cube will not be requested from different domains, skip this step.
31+
32+
To allow cross-domain requests to the OLAP service, enable the CORS behavior of your server. For more information on Cross-Origin Resource Sharing (CORS), refer to [this link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS).
33+
34+
The following sections demonstrate how to enable CORS on an [Internet Information Services (IIS)](http://www.iis.net/) server. Cross-domain access requires you to configure the HTTP Response Headers and the `OPTIONS` method server response.
35+
36+
### Configuring HTTP Response Headers
37+
38+
To configure HTTP Response Headers, specify the following requirements:
39+
* The domains that will perform the data requests.
40+
* An [HTTP method](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html) through which the data will be transferred.
41+
* The HTTP headers that can be used in the requests.
42+
* The user credentials that will be required if an authenticated access is used.
43+
44+
The following example demonstrates the list of the HTTP Response Headers that show the settings which are required to enable the IIS CORS behavior.
45+
46+
<table>
47+
<tbody>
48+
<tr>
49+
<th>
50+
<p>Header Name</p>
51+
</th>
52+
<th>
53+
<p>Value</p>
54+
</th>
55+
<th>
56+
<p>Details</p>
57+
</th>
58+
</tr>
59+
<tr>
60+
<td><strong>Access-Control-Allow-Headers</strong></td>
61+
<td><code>Origin, Content-Type, Accept</code></td>
62+
<td>
63+
<p>These are the names of the fields which are required to be used in the actual request. The values have to be separated with commas.</p>
64+
<ul>
65+
<li><code>Origin</code> - This field provides information about the location from which the cross-origin or pre-flight request originates. This setting indicates to the server that the origin which performs the request is known.</li>
66+
<li><code>Content-Type</code> – This field indicates the content (MIME) type of the entity body that is sent to the recipient. The actual content type which is used in the communication between the OLAP service and the <code>PivotDataSource</code> is text or XML.</li>
67+
<li><code>Accept</code> – This field specifies the media types which are acceptable for the response.</li>
68+
</ul>
69+
</td>
70+
</tr>
71+
<tr>
72+
<td><strong>Access-Control-Allow-Origin</strong></td>
73+
<td>
74+
<p>The URI names that may access the resource. When an asterisk (*) is defined, all domains are allowed.</p>
75+
</td>
76+
<td>
77+
<p>The names of the allowed domains have to be separated with a comma (,).</p>
78+
</td>
79+
</tr>
80+
<tr>
81+
<td><strong>Access-Control-Request-Method</strong></td>
82+
<td><code>POST</code></td>
83+
<td>
84+
<p>The name of the HTTP method that will be used in the actual request.</p>
85+
<p>The XMLA protocol specifies an HTTP <code>POST</code> method.</p>
86+
</td>
87+
</tr>
88+
<tr>
89+
<td><strong>Access-Control-Allow-Credentials</strong> (authenticated access only)</td>
90+
<td><code>true</code></td>
91+
<td>
92+
<p>The allowed values are:</p>
93+
<ul>
94+
<li><code>true</code> – Allows the supply of credentials with the request.</li>
95+
<li><code>false</code> – Disables the supply of credentials with the request. Equal to an altogether missing header.</li>
96+
</ul>
97+
</td>
98+
</tr>
99+
</tbody>
100+
</table>
101+
102+
### Configuring the OPTIONS Method Server Response
103+
104+
To configure the `OPTIONS` method server response, specify the server response to the `OPTIONS` method requests. In IIS, configure the behavior of the `OPTIONS` method through the `OPTIONSVerbHandler` mapping settings.
105+
106+
The following example demonstrates the list of settings that you have to apply.
107+
108+
<table>
109+
<tbody>
110+
<tr>
111+
<th>HTTP Handler Name</th>
112+
<th>Required Access Level</th>
113+
<th>Details</th>
114+
</tr>
115+
<tr>
116+
<td><code>OPTIONSVerbHandler</code></td>
117+
<td><code>Read</code></td>
118+
<td>
119+
<p>Specifies that the handler requires <code>READ</code> access to the requests.</p>
120+
</td>
121+
</tr>
122+
</tbody>
123+
</table>
124+
125+
### Accessing the Cube Securely
126+
127+
To implement a secured access to the OLAP instance, use either of the following approaches:
128+
* Use a proxy service which communicates with the cube on a secured protocol. This proxy has to support the XMLA protocol. In the Microsoft world, the solution is to use [ADOMD.NET](https://technet.microsoft.com/en-us/library/ms123483%28v=sql.110%29.aspx). For more information, refer to [this forum thread](http://www.telerik.com/forums/securing-access-to-msmdpump-dll).
129+
* Send the credentials with a request header even though the **Username** and **Password** will be visible on the client side (browser). For more information on passing credentials with request headers, refer to [this StackOverflow discussion](http://stackoverflow.com/questions/14579478/how-to-pass-credentials-for-a-webservice-using-jquery-ajax-call). You can define the required callbacks and settings directly in the [`transport.read`](http://docs.telerik.com/kendo-ui/api/javascript/data/datasource/configuration/transport.read) object because they will be passed to the `$.ajax` method.
130+
131+
## See Also
132+
133+
* [OLAP Cube Fundamentals]({% slug htmlhelpers_pivotgrid_aspnetcore_fundamentals %})
134+
* [PivotConfigurator Overview]({% slug htmlhelpers_pivotgrid_aspnetcore_configurator %})
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: Data Binding
3+
page_title: Data Binding | Telerik UI PivotGrid HtmlHelper for ASP.NET Core
4+
description: "Get started with the Telerik UI PivotGrid HtmlHelper for ASP.NET Core and learn about the OLAP cube configuration for performing Ajax data binding with the Telerik UI PivotGrid HtmlHelper for ASP.NET Core (MVC 6 or ASP.NET Core MVC)."
5+
slug: databinding_pivotgridhelper_aspnetcore
6+
position: 1
7+
---
8+
9+
# Data Binding
10+
11+
The PivotGrid for ASP.NET Core supports Ajax data binding to an HTTP accessible Online Analytical Processing (OLAP) cube and to flat data.
12+
13+
Telerik UI provides an OLAP service dll that can be used for testing and is hosted at `https://demos.telerik.com/olap/msmdpump.dll`. To see the responses, the service needs to be queried and cannot be opened directly in the browser. For more information on binding the PivotGrid to data over an OLAP cube, refer to the following articles:
14+
* [OLAP Cube Fundamentals]({% slug htmlhelpers_pivotgrid_aspnetcore_fundamentals %})
15+
* [OLAP Cube Setup]({% slug htmlhelpers_pivotgrid_aspnetcore_olap_cube_setup %})
16+
* [PivotConfigurator Overview]({% slug htmlhelpers_pivotgrid_aspnetcore_configurator %})
17+
18+
When the PivotGridis bound to flat data, it creates a client-side cube which allows the categorization of the flat data. For runnable examples on binding the PivotGrid to flat data, refer to the following online demos:
19+
* [Local binding of the PivotGrid HtmlHelper for ASP.NET Core (demo)](https://demos.telerik.com/aspnet-core/pivotgrid/local-flat-data-binding)
20+
* [Remote binding of the PivotGrid HtmlHelper for ASP.NET Core (demo)](https://demos.telerik.com/aspnet-core/pivotgrid/remote-flat-data-binding)
21+
22+
## See Also
23+
24+
* [Local Data Binding by the PivotGrid HtmlHelper for ASP.NET Core (Demo)](https://demos.telerik.com/aspnet-core/pivotgrid/local-flat-data-binding)
25+
* [Remote Data Binding by the PivotGrid HtmlHelper for ASP.NET Core (Demo)](https://demos.telerik.com/aspnet-core/pivotgrid/remote-flat-data-binding)
26+
* [Server-Side API](/api/pivotgrid)
126 KB
Loading

0 commit comments

Comments
 (0)