# C1.Web.Mvc.Olap.PivotEngine

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Web_Mvc_Olap_PivotEngine" data-uid="C1.Web.Mvc.Olap.PivotEngine" class="text-break">PivotEngine Class
</h1>
  <div class="markdown level0 summary"><p>Provides a user interface for interactively transforming regular data tables into Olap pivot tables.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="../C1.AspNetCore.Mvc/C1.Web.Mvc.Component.html">Component</a></div>
    <div class="level2"><span class="xref">Service</span></div>
    <div class="level3"><span class="xref">PivotEngine</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.html.ihtmlcontent">IHtmlContent</a></div>
    <div><a class="xref" href="../C1.AspNetCore.Mvc/C1.Web.Mvc.ITemplate.html">ITemplate</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Web.Mvc.Olap.html">C1.Web.Mvc.Olap</a></h6>
  <h6><strong>Assembly</strong>: C1.AspNetCore.Mvc.Olap.dll</h6>
  <h5 id="C1_Web_Mvc_Olap_PivotEngine_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class PivotEngine : Service, IHtmlContent, ITemplate</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class PivotEngine
    Inherits Service
    Implements IHtmlContent, ITemplate</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine__ctor_Microsoft_AspNetCore_Mvc_Rendering_IHtmlHelper_" data-uid="C1.Web.Mvc.Olap.PivotEngine.#ctor(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper)">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.-ctor.html#C1_Web_Mvc_Olap_PivotEngine__ctor_Microsoft_AspNetCore_Mvc_Rendering_IHtmlHelper_">PivotEngine(IHtmlHelper)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates one PivotEngine instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_AllowFieldEditing" data-uid="C1.Web.Mvc.Olap.PivotEngine.AllowFieldEditing">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.AllowFieldEditing.html#C1_Web_Mvc_Olap_PivotEngine_AllowFieldEditing">AllowFieldEditing</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that determines whether users should be allowed to edit the properties of the Fields.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_Async" data-uid="C1.Web.Mvc.Olap.PivotEngine.Async">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.Async.html#C1_Web_Mvc_Olap_PivotEngine_Async">Async</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that determines whether view updates should be generated asynchronously.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ColumnFields" data-uid="C1.Web.Mvc.Olap.PivotEngine.ColumnFields">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ColumnFields.html#C1_Web_Mvc_Olap_PivotEngine_ColumnFields">ColumnFields</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the list of <a class="xref" href="C1.Web.Mvc.Olap.PivotField.html">PivotField</a> objects that define the fields shown as columns in the output table.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_CubeService" data-uid="C1.Web.Mvc.Olap.PivotEngine.CubeService">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.CubeService.html#C1_Web_Mvc_Olap_PivotEngine_CubeService">CubeService</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the options for OLAP cube provided by SSAS server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_DefaultFilterType" data-uid="C1.Web.Mvc.Olap.PivotEngine.DefaultFilterType">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.DefaultFilterType.html#C1_Web_Mvc_Olap_PivotEngine_DefaultFilterType">DefaultFilterType</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the default filter type (by value or by condition). When binding the service, only FilterType.Condition and FilterType.None are supported. When FilterType.Both is set, it works as FilterType.Condition. When FilterType.Value is set, it works as FilterType.None.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ExclusiveValueSearch" data-uid="C1.Web.Mvc.Olap.PivotEngine.ExclusiveValueSearch">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ExclusiveValueSearch.html#C1_Web_Mvc_Olap_PivotEngine_ExclusiveValueSearch">ExclusiveValueSearch</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that determines whether the filter should include only values selected by the @see:wijmo.grid.filter.ValueFilter.filterText property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_Fields" data-uid="C1.Web.Mvc.Olap.PivotEngine.Fields">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.Fields.html#C1_Web_Mvc_Olap_PivotEngine_Fields">Fields</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the list of the <a class="xref" href="C1.Web.Mvc.Olap.PivotField.html">PivotField</a> objects which can be used in the view.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_FilterFields" data-uid="C1.Web.Mvc.Olap.PivotEngine.FilterFields">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.FilterFields.html#C1_Web_Mvc_Olap_PivotEngine_FilterFields">FilterFields</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the list of <a class="xref" href="C1.Web.Mvc.Olap.PivotField.html">PivotField</a> objects that define the fields used as filters.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ItemsSource" data-uid="C1.Web.Mvc.Olap.PivotEngine.ItemsSource">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ItemsSource.html#C1_Web_Mvc_Olap_PivotEngine_ItemsSource">ItemsSource</a>
        </td>
        <td class="markdown level1 summary"><p>Gets ItemsSource settings.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ItemsSourceId" data-uid="C1.Web.Mvc.Olap.PivotEngine.ItemsSourceId">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ItemsSourceId.html#C1_Web_Mvc_Olap_PivotEngine_ItemsSourceId">ItemsSourceId</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the ItemsSourceId specify which CollectionViewService will be used for this control.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_OnClientError" data-uid="C1.Web.Mvc.Olap.PivotEngine.OnClientError">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.OnClientError.html#C1_Web_Mvc_Olap_PivotEngine_OnClientError">OnClientError</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs when there is an error getting data from the server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_OnClientItemsSourceChanged" data-uid="C1.Web.Mvc.Olap.PivotEngine.OnClientItemsSourceChanged">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.OnClientItemsSourceChanged.html#C1_Web_Mvc_Olap_PivotEngine_OnClientItemsSourceChanged">OnClientItemsSourceChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs after the items source changes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_OnClientUpdatedView" data-uid="C1.Web.Mvc.Olap.PivotEngine.OnClientUpdatedView">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.OnClientUpdatedView.html#C1_Web_Mvc_Olap_PivotEngine_OnClientUpdatedView">OnClientUpdatedView</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs after the engine has finished updating the output pivot view list.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_OnClientUpdatingView" data-uid="C1.Web.Mvc.Olap.PivotEngine.OnClientUpdatingView">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.OnClientUpdatingView.html#C1_Web_Mvc_Olap_PivotEngine_OnClientUpdatingView">OnClientUpdatingView</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs when the engine starts updating the output pivot view list.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_OnClientViewDefinitionChanged" data-uid="C1.Web.Mvc.Olap.PivotEngine.OnClientViewDefinitionChanged">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.OnClientViewDefinitionChanged.html#C1_Web_Mvc_Olap_PivotEngine_OnClientViewDefinitionChanged">OnClientViewDefinitionChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs after the view definition changes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_RowFields" data-uid="C1.Web.Mvc.Olap.PivotEngine.RowFields">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.RowFields.html#C1_Web_Mvc_Olap_PivotEngine_RowFields">RowFields</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the list of <a class="xref" href="C1.Web.Mvc.Olap.PivotField.html">PivotField</a> objects that define the fields shown as rows in the output table.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ServerMaxDetail" data-uid="C1.Web.Mvc.Olap.PivotEngine.ServerMaxDetail">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ServerMaxDetail.html#C1_Web_Mvc_Olap_PivotEngine_ServerMaxDetail">ServerMaxDetail</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the maximum number of records when getting the detail data from the server. The default value for this property is 1000, which provides a reasonable amount of detail in many scenarios. If you want to allow more detail records to be retrieved, increase the value of this property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ServerPollInterval" data-uid="C1.Web.Mvc.Olap.PivotEngine.ServerPollInterval">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ServerPollInterval.html#C1_Web_Mvc_Olap_PivotEngine_ServerPollInterval">ServerPollInterval</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the amount of time, in milliseconds, which the engine should wait before polling the server for progress status while retrieving results. The default value for this property is 500, which causes the engine to poll the server for a status update every half second.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ServerTimeout" data-uid="C1.Web.Mvc.Olap.PivotEngine.ServerTimeout">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ServerTimeout.html#C1_Web_Mvc_Olap_PivotEngine_ServerTimeout">ServerTimeout</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the maximum amount of time, in milliseconds, which the engine should wait for the results to come back from the server. The default value for this property is 60000, equivalent to sixty seconds. If you expect server operations to take longer than that to complete, set the property to a higher value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ServiceUrl" data-uid="C1.Web.Mvc.Olap.PivotEngine.ServiceUrl">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ServiceUrl.html#C1_Web_Mvc_Olap_PivotEngine_ServiceUrl">ServiceUrl</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the service url.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ShowColumnTotals" data-uid="C1.Web.Mvc.Olap.PivotEngine.ShowColumnTotals">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ShowColumnTotals.html#C1_Web_Mvc_Olap_PivotEngine_ShowColumnTotals">ShowColumnTotals</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that determines whether the output data should include columns containing subtotals or grand totals.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ShowRowTotals" data-uid="C1.Web.Mvc.Olap.PivotEngine.ShowRowTotals">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ShowRowTotals.html#C1_Web_Mvc_Olap_PivotEngine_ShowRowTotals">ShowRowTotals</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that determines whether the output data should include rows containing subtotals or grand totals.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ShowZeros" data-uid="C1.Web.Mvc.Olap.PivotEngine.ShowZeros">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ShowZeros.html#C1_Web_Mvc_Olap_PivotEngine_ShowZeros">ShowZeros</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that determines whether the Olap output table should use zeros to indicate the missing values.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_SortOnServer" data-uid="C1.Web.Mvc.Olap.PivotEngine.SortOnServer">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.SortOnServer.html#C1_Web_Mvc_Olap_PivotEngine_SortOnServer">SortOnServer</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that indicates whether the summary data received from the server is already sorted.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_SortableGroups" data-uid="C1.Web.Mvc.Olap.PivotEngine.SortableGroups">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.SortableGroups.html#C1_Web_Mvc_Olap_PivotEngine_SortableGroups">SortableGroups</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that determines whether the engine should sort groups when sorting the value fields (measures) or whether it should keep the group order and the data only within each group.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_TotalsBeforeData" data-uid="C1.Web.Mvc.Olap.PivotEngine.TotalsBeforeData">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.TotalsBeforeData.html#C1_Web_Mvc_Olap_PivotEngine_TotalsBeforeData">TotalsBeforeData</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that determines whether row and column totals should be displayed before or after regular data rows and columns.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ValueFields" data-uid="C1.Web.Mvc.Olap.PivotEngine.ValueFields">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ValueFields.html#C1_Web_Mvc_Olap_PivotEngine_ValueFields">ValueFields</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the list of <a class="xref" href="C1.Web.Mvc.Olap.PivotField.html">PivotField</a> objects that define the fields summarized in the output table.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_ViewDefinition" data-uid="C1.Web.Mvc.Olap.PivotEngine.ViewDefinition">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.ViewDefinition.html#C1_Web_Mvc_Olap_PivotEngine_ViewDefinition">ViewDefinition</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the current pivot view definition as a JSON string.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_CreateChildComponents" data-uid="C1.Web.Mvc.Olap.PivotEngine.CreateChildComponents">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.CreateChildComponents.html#C1_Web_Mvc_Olap_PivotEngine_CreateChildComponents">CreateChildComponents()</a>
        </td>
        <td class="markdown level1 summary"><p>Ensure the child components created.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Web_Mvc_Olap_PivotEngine_RenderClientService_System_IO_TextWriter_" data-uid="C1.Web.Mvc.Olap.PivotEngine.RenderClientService(System.IO.TextWriter)">
          <a class="xref" href="C1.Web.Mvc.Olap.PivotEngine.RenderClientService.html#C1_Web_Mvc_Olap_PivotEngine_RenderClientService_System_IO_TextWriter_">RenderClientService(TextWriter)</a>
        </td>
        <td class="markdown level1 summary"><p>Render the client service to the specified writer.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
