# C1.PivotEngine.C1PivotEngine.GetDetails

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_PivotEngine_C1PivotEngine_GetDetails_" data-uid="C1.PivotEngine.C1PivotEngine.GetDetails*">GetDetails Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_PivotEngine_C1PivotEngine_GetDetails_" data-uid="C1.PivotEngine.C1PivotEngine.GetDetails*"></a>
<h4 id="C1_PivotEngine_C1PivotEngine_GetDetails_System_String_System_String_System_Collections_Generic_Dictionary_System_String_System_Object__System_Object___System_Threading_CancellationToken_" data-uid="C1.PivotEngine.C1PivotEngine.GetDetails(System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Object[],System.Threading.CancellationToken)">GetDetails(string, string, Dictionary&lt;string, object&gt;, object[], CancellationToken)</h4>
<div class="markdown level1 summary"><p>Makes source data rows used in obtaining a given aggregated value accessible to the server's clients.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public static Task&lt;IList&gt; GetDetails(string workspace, string table, Dictionary&lt;string, object&gt; view, object[] key, CancellationToken cancelToken)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Shared Function GetDetails(workspace As String, table As String, view As Dictionary(Of String, Object), key As Object(), cancelToken As CancellationToken) As Task(Of IList)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">workspace</span></td>
      <td><p>Path in the server's file system where DataEngine data is saved in files.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">table</span></td>
      <td><p>The name of a DataEngine table.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</td>
      <td><span class="parametername">view</span></td>
      <td><p>View definition used for performing aggregation.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>[]</td>
      <td><span class="parametername">key</span></td>
      <td><p>Key values specifying the aggregated value (subtotal). See a description of keys and values in C1.PivotEngine.C1PivotEngine.Exec(string, string, System.Collections.Generic.Dictionary&lt;string,object&gt;, System.Threading.CancellationToken)</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken">CancellationToken</a></td>
      <td><span class="parametername">cancelToken</span></td>
      <td><p>Enables task cancellation.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ilist">IList</a>&gt;</td>
      <td><p>List of source data objects that contributed to the given aggregation value.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 id="C1_PivotEngine_C1PivotEngine_GetDetails_System_String_System_String_System_Collections_Generic_Dictionary_System_String_System_Object__System_Object___System_Threading_CancellationToken__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>It is recommended to use paging providing source data to the clients, because a DataEngine table can have a very large number of rows and aggregating a subtotal can involve a considerable part of all rows.</p>
</div>


<a id="C1_PivotEngine_C1PivotEngine_GetDetails_" data-uid="C1.PivotEngine.C1PivotEngine.GetDetails*"></a>
<h4 id="C1_PivotEngine_C1PivotEngine_GetDetails_System_Collections_IEnumerable_System_Collections_Generic_Dictionary_System_String_System_Object__System_Object___System_Threading_CancellationToken_" data-uid="C1.PivotEngine.C1PivotEngine.GetDetails(System.Collections.IEnumerable,System.Collections.Generic.Dictionary{System.String,System.Object},System.Object[],System.Threading.CancellationToken)">GetDetails(IEnumerable, Dictionary&lt;string, object&gt;, object[], CancellationToken)</h4>
<div class="markdown level1 summary"><p>Makes source data rows used in obtaining a given aggregated value accessible to the server's clients.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public static Task&lt;IList&gt; GetDetails(IEnumerable dataSource, Dictionary&lt;string, object&gt; view, object[] key, CancellationToken cancelToken)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Shared Function GetDetails(dataSource As IEnumerable, view As Dictionary(Of String, Object), key As Object(), cancelToken As CancellationToken) As Task(Of IList)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerable">IEnumerable</a></td>
      <td><span class="parametername">dataSource</span></td>
      <td><p>Data source collection.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</td>
      <td><span class="parametername">view</span></td>
      <td><p>View definition used for performing aggregation.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>[]</td>
      <td><span class="parametername">key</span></td>
      <td><p>Key values specifying one aggregated value (subtotal). See a description of keys and values in C1.PivotEngine.C1PivotEngine.Exec(string, string, System.Collections.Generic.Dictionary&lt;string,object&gt;, System.Threading.CancellationToken)</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken">CancellationToken</a></td>
      <td><span class="parametername">cancelToken</span></td>
      <td><p>Enables task cancellation.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ilist">IList</a>&gt;</td>
      <td><p>List of source data objects that contributed to the given aggregation value.</p>
</td>
    </tr>
  </tbody>
</table>
</div>
