# C1.Data.DataSource.ClientViewSource

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Data_DataSource_ClientViewSource" data-uid="C1.Data.DataSource.ClientViewSource" class="text-break">ClientViewSource Class
</h1>
  <div class="markdown level0 summary"><p>Data source object exposing data from <a class="xref" href="C1.Data.ClientCacheBase.html">ClientCacheBase</a> to which GUI controls can bind.
Using a <a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a>, you can
<a class="xref" href="C1.Data.DataSource.ClientViewSource.Load.html#C1_Data_DataSource_ClientViewSource_Load">load</a>,
<a class="xref" href="C1.Data.DataSource.ClientViewSource.FilterDescriptors.html#C1_Data_DataSource_ClientViewSource_FilterDescriptors">filter</a>,
<a class="xref" href="C1.Data.DataSource.ClientViewSource.GroupDescriptors.html#C1_Data_DataSource_ClientViewSource_GroupDescriptors">group</a>,
and <a class="xref" href="C1.Data.DataSource.ClientViewSource.SortDescriptors.html#C1_Data_DataSource_ClientViewSource_SortDescriptors">sort</a>
data easily.</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="https://learn.microsoft.com/dotnet/api/system.windows.threading.dispatcherobject">DispatcherObject</a></div>
    <div class="level2"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.dependencyobject">DependencyObject</a></div>
    <div class="level3"><span class="xref">ClientViewSource</span></div>
      <div class="level4"><a class="xref" href="C1.Data.Entities.EntityViewSource.html">EntityViewSource</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.componentmodel.inotifypropertychanged">INotifyPropertyChanged</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.componentmodel.isupportinitialize">ISupportInitialize</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Data.DataSource.html">C1.Data.DataSource</a></h6>
  <h6><strong>Assembly</strong>: C1.Data.Entity.4.8.dll</h6>
  <h5 id="C1_Data_DataSource_ClientViewSource_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class ClientViewSource : DependencyObject, INotifyPropertyChanged, ISupportInitialize</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class ClientViewSource
    Inherits DependencyObject
    Implements INotifyPropertyChanged, ISupportInitialize</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_Data_DataSource_ClientViewSource__ctor" data-uid="C1.Data.DataSource.ClientViewSource.#ctor">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.-ctor.html#C1_Data_DataSource_ClientViewSource__ctor">ClientViewSource()</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a> class.</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_Data_DataSource_ClientViewSource_AutoLoad" data-uid="C1.Data.DataSource.ClientViewSource.AutoLoad">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.AutoLoad.html#C1_Data_DataSource_ClientViewSource_AutoLoad">AutoLoad</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value indicating whether <a class="xref" href="C1.Data.DataSource.ClientViewSource.Load.html#C1_Data_DataSource_ClientViewSource_Load">Load()</a> is automatically invoked on startup and when
a change occurs that impacts the query composed by the <a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a>.
The default is True.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_BaseView" data-uid="C1.Data.DataSource.ClientViewSource.BaseView">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.BaseView.html#C1_Data_DataSource_ClientViewSource_BaseView">BaseView</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets an instance of <a class="xref" href="C1.Data.ClientView-1.html">ClientView&lt;T&gt;</a> that the <a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a> uses as the base for composing queries.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_CacheTimeout" data-uid="C1.Data.DataSource.ClientViewSource.CacheTimeout">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.CacheTimeout.html#C1_Data_DataSource_ClientViewSource_CacheTimeout">CacheTimeout</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the period of time entities loaded in virtual mode are kept in the cache without checking whether they are needed or not.
If an entity was neither used nor considered needed for a period of time longer than <a class="xref" href="C1.Data.DataSource.ClientViewSource.CacheTimeout.html#C1_Data_DataSource_ClientViewSource_CacheTimeout">CacheTimeout</a>,
<a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a> may evict it from the cache.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_CurrentClientView" data-uid="C1.Data.DataSource.ClientViewSource.CurrentClientView">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.CurrentClientView.html#C1_Data_DataSource_ClientViewSource_CurrentClientView">CurrentClientView</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the current <a class="xref" href="C1.Data.ClientView-1.html">client view</a> used to load entities,
or null in <a class="xref" href="C1.Data.DataSource.ClientViewSource.VirtualMode.html#C1_Data_DataSource_ClientViewSource_VirtualMode">virtual mode</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_DataView" data-uid="C1.Data.DataSource.ClientViewSource.DataView">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.DataView.html#C1_Data_DataSource_ClientViewSource_DataView">DataView</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the current view of entities resulting from the last load operation.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_FilterDescriptors" data-uid="C1.Data.DataSource.ClientViewSource.FilterDescriptors">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.FilterDescriptors.html#C1_Data_DataSource_ClientViewSource_FilterDescriptors">FilterDescriptors</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the collection of <a class="xref" href="C1.Data.DataSource.FilterDescriptor.html">FilterDescriptor</a> objects used when performing loads.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_FilterOperator" data-uid="C1.Data.DataSource.ClientViewSource.FilterOperator">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.FilterOperator.html#C1_Data_DataSource_ClientViewSource_FilterOperator">FilterOperator</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the logical operator used for combinining <a class="xref" href="C1.Data.DataSource.ClientViewSource.FilterDescriptors.html#C1_Data_DataSource_ClientViewSource_FilterDescriptors">FilterDescriptors</a> in the filter collection.
The default value is <a class="xref" href="C1.Data.DataSource.FilterDescriptorLogicalOperator.html#C1_Data_DataSource_FilterDescriptorLogicalOperator_And">And</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_GroupDescriptors" data-uid="C1.Data.DataSource.ClientViewSource.GroupDescriptors">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.GroupDescriptors.html#C1_Data_DataSource_ClientViewSource_GroupDescriptors">GroupDescriptors</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the collection of <a class="xref" href="C1.Data.DataSource.GroupDescriptor.html">GroupDescriptor</a> objects used to organize the loaded entities into groups.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_Include" data-uid="C1.Data.DataSource.ClientViewSource.Include">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.Include.html#C1_Data_DataSource_ClientViewSource_Include">Include</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a comma-separated list of property paths that specify related objects
to include during the <a class="xref" href="C1.Data.DataSource.ClientViewSource.Load.html#C1_Data_DataSource_ClientViewSource_Load">Load()</a> operation.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_IsLoadingData" data-uid="C1.Data.DataSource.ClientViewSource.IsLoadingData">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.IsLoadingData.html#C1_Data_DataSource_ClientViewSource_IsLoadingData">IsLoadingData</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a value indicating whether the <a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a> is currently loading data.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_LoadCommand" data-uid="C1.Data.DataSource.ClientViewSource.LoadCommand">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.LoadCommand.html#C1_Data_DataSource_ClientViewSource_LoadCommand">LoadCommand</a>
        </td>
        <td class="markdown level1 summary"><p>Gets an <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.input.icommand">ICommand</a> that invokes <a class="xref" href="C1.Data.DataSource.ClientViewSource.Load.html#C1_Data_DataSource_ClientViewSource_Load">Load()</a> on this <a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_LoadDelay" data-uid="C1.Data.DataSource.ClientViewSource.LoadDelay">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.LoadDelay.html#C1_Data_DataSource_ClientViewSource_LoadDelay">LoadDelay</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the delay before an automatic data loading operation is started.
It is the delay from the time a change prompting automatic load occurs until
the time the resulting <a class="xref" href="C1.Data.DataSource.ClientViewSource.Load.html#C1_Data_DataSource_ClientViewSource_Load">Load()</a> is started.
The default delay is 25 milliseconds.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_LoadSize" data-uid="C1.Data.DataSource.ClientViewSource.LoadSize">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.LoadSize.html#C1_Data_DataSource_ClientViewSource_LoadSize">LoadSize</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the maximum number of items to load each time a <a class="xref" href="C1.Data.DataSource.ClientViewSource.Load.html#C1_Data_DataSource_ClientViewSource_Load">Load()</a> is executed.
When equal to 0, all requested entities will be loaded.
The default is 0.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_MoveToFirstOnLoad" data-uid="C1.Data.DataSource.ClientViewSource.MoveToFirstOnLoad">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.MoveToFirstOnLoad.html#C1_Data_DataSource_ClientViewSource_MoveToFirstOnLoad">MoveToFirstOnLoad</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value indicating that the first item must be made current after <a class="xref" href="C1.Data.DataSource.ClientViewSource.Load.html#C1_Data_DataSource_ClientViewSource_Load">Load()</a> operation is completed
if current item was not set by other means.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_Name" data-uid="C1.Data.DataSource.ClientViewSource.Name">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.Name.html#C1_Data_DataSource_ClientViewSource_Name">Name</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a name of this <a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a> to reference it in a C1DataSource.ViewSources collection.
By default it is determined by the EntitySetName (for Entity Framework) or QueryName (for RIA Services), but it can be overrided by <a class="xref" href="C1.Data.DataSource.ClientViewSource.NameOverride.html#C1_Data_DataSource_ClientViewSource_NameOverride">NameOverride</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_NameOverride" data-uid="C1.Data.DataSource.ClientViewSource.NameOverride">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.NameOverride.html#C1_Data_DataSource_ClientViewSource_NameOverride">NameOverride</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value that overrides the value of the <a class="xref" href="C1.Data.DataSource.ClientViewSource.Name.html#C1_Data_DataSource_ClientViewSource_Name">Name</a> property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_PageSize" data-uid="C1.Data.DataSource.ClientViewSource.PageSize">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.PageSize.html#C1_Data_DataSource_ClientViewSource_PageSize">PageSize</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the number of items displayed on each page of the <a class="xref" href="C1.Data.DataSource.ClientViewSource.DataView.html#C1_Data_DataSource_ClientViewSource_DataView">DataView</a>,
or the number of items to fetch in each query in <a class="xref" href="C1.Data.DataSource.ClientViewSource.VirtualMode.html#C1_Data_DataSource_ClientViewSource_VirtualMode">virtual mode</a>,
or 0 to disable paging.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_SortDescriptors" data-uid="C1.Data.DataSource.ClientViewSource.SortDescriptors">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.SortDescriptors.html#C1_Data_DataSource_ClientViewSource_SortDescriptors">SortDescriptors</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the collection of <a class="xref" href="C1.Data.DataSource.SortDescriptor.html">SortDescriptor</a> objects used to sort the data.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_VirtualMode" data-uid="C1.Data.DataSource.ClientViewSource.VirtualMode">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.VirtualMode.html#C1_Data_DataSource_ClientViewSource_VirtualMode">VirtualMode</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value indicating whether the <a class="xref" href="C1.Data.DataSource.ClientViewSource.html">ClientViewSource</a> is in virtual mode.
Virtual mode is an innovative technology allowing to bind GUI controls directly to very large
data sets without delays and performance degradation and without inconvenience of paging.
By default, virtual mode is disabled (the default value is <a class="xref" href="C1.Data.DataSource.VirtualModeKind.html#C1_Data_DataSource_VirtualModeKind_None">None</a>).</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_Data_DataSource_ClientViewSource_DeferLoad" data-uid="C1.Data.DataSource.ClientViewSource.DeferLoad">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.DeferLoad.html#C1_Data_DataSource_ClientViewSource_DeferLoad">DeferLoad()</a>
        </td>
        <td class="markdown level1 summary"><p>Used to group changes to multiple load-affecting properties together, deferring
the resulting load operations so a single load operation is performed in the end, that is, when the object returned from this
method is disposed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_Load" data-uid="C1.Data.DataSource.ClientViewSource.Load">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.Load.html#C1_Data_DataSource_ClientViewSource_Load">Load()</a>
        </td>
        <td class="markdown level1 summary"><p>Starts a load operation. Any pending load will be implicitly canceled.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_LoadRange_System_Int32_System_Int32_" data-uid="C1.Data.DataSource.ClientViewSource.LoadRange(System.Int32,System.Int32)">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.LoadRange.html#C1_Data_DataSource_ClientViewSource_LoadRange_System_Int32_System_Int32_">LoadRange(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>If in <a class="xref" href="C1.Data.DataSource.ClientViewSource.VirtualMode.html#C1_Data_DataSource_ClientViewSource_VirtualMode">virtual mode</a>, loads a specific range of entities.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_Refresh" data-uid="C1.Data.DataSource.ClientViewSource.Refresh">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.Refresh.html#C1_Data_DataSource_ClientViewSource_Refresh">Refresh()</a>
        </td>
        <td class="markdown level1 summary"><p>Starts a load operation ignoring the client-side cache. Any pending load will be implicitly canceled.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="events">Events
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_LoadedData" data-uid="C1.Data.DataSource.ClientViewSource.LoadedData">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.LoadedData.html">LoadedData</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs when a load operation is completed, or when an exception was thrown during the load operation.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Data_DataSource_ClientViewSource_PropertyChanged" data-uid="C1.Data.DataSource.ClientViewSource.PropertyChanged">
          <a class="xref" href="C1.Data.DataSource.ClientViewSource.PropertyChanged.html">PropertyChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs when a property value changes.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
