<?xml version="1.0" encoding="utf-8"?>
<Type Name="DataSourceView" FullName="System.Web.UI.DataSourceView">
  <TypeSignature Language="C#" Value="public abstract class DataSourceView" />
  <AssemblyInfo>
    <AssemblyName>System.Web</AssemblyName>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <since version=".NET 2.0" />
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>ASP.NET supports a data-binding architecture that enables Web server controls to bind to data in a consistent fashion. Web server controls that bind to data are referred to as data-bound controls, and the classes that facilitate that binding are called data source controls. Data source controls can represent any data source: a relational database, a file, a stream, a business object, and so on. Data source controls present data in a consistent way to data-bound controls, regardless of the source or format of the underlying data.</para>
      <para>You use the data source controls that are provided with ASP.NET, including <see cref="T:System.Web.UI.WebControls.SqlDataSource" />, <see cref="T:System.Web.UI.WebControls.AccessDataSource" />, and <see cref="T:System.Web.UI.WebControls.XmlDataSource" />, to perform most Web development tasks. You use the base <see cref="T:System.Web.UI.DataSourceControl" /> and <see cref="T:System.Web.UI.DataSourceView" /> classes when you want to implement your own custom data source control.</para>
      <para>You can think of a data source control as the combination of the <see cref="T:System.Web.UI.IDataSource" /> object and its associated lists of data, called data source views. Each list of data is represented by a <see cref="T:System.Web.UI.DataSourceView" /> object. The <see cref="T:System.Web.UI.DataSourceView" /> class is the base class for all data source views, or lists of data, associated with data source controls. Data source views define the capabilities of a data source control. Because the underlying data storage contains one or more lists of data, a data source control is always associated with one or more named data source views. The data source control uses the <see cref="M:System.Web.UI.DataSourceControl.GetViewNames" /> method to enumerate the data source views currently associated with the data source control and the <see cref="M:System.Web.UI.DataSourceControl.GetView(System.String)" /> method to retrieve a specific data source view instance by name.</para>
      <para>All <see cref="T:System.Web.UI.DataSourceView" /> objects support data retrieval from the underlying data source using the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> method. All views optionally support a basic set of operations, including operations such as <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" />, <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" />, and <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" />. A data-bound control can discover the capabilities of a data source control by retrieving an associated data source view using the <see cref="M:System.Web.UI.DataSourceControl.GetView(System.String)" /> and <see cref="M:System.Web.UI.DataSourceControl.GetViewNames" /> methods, and by querying the view at design time or run time.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Serves as the base class for all data source view classes, which define the capabilities of data source controls.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected DataSourceView (System.Web.UI.IDataSource owner, string viewName);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="owner" Type="System.Web.UI.IDataSource" />
        <Parameter Name="viewName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Web.UI.DataSourceView" /> class.</para>
        </summary>
        <param name="owner">
          <attribution license="cc4" from="Microsoft" modified="false" />The data source control that the <see cref="T:System.Web.UI.DataSourceView" /> is associated with.</param>
        <param name="viewName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the <see cref="T:System.Web.UI.DataSourceView" /> object.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CanDelete">
      <MemberSignature Language="C#" Value="public virtual bool CanDelete { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Web.UI.DataSourceView.CanDelete" /> property reflects not only a capability of the data source control, but also whether it is currently appropriate to perform an operation. For example, even though a data source view supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation in general, if a required property or some other data is not set, the <see cref="P:System.Web.UI.DataSourceView.CanDelete" /> property returns false, as a delete operation would fail.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CanInsert">
      <MemberSignature Language="C#" Value="public virtual bool CanInsert { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Web.UI.DataSourceView.CanInsert" /> property reflects not only a capability of the data source control, but also whether it is currently appropriate to perform an operation. For example, even though a data source control supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> operation, if a required insert command or some other data is not set, the <see cref="P:System.Web.UI.DataSourceView.CanInsert" /> property returns false, as an insert operation would fail.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> operation.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CanPage">
      <MemberSignature Language="C#" Value="public virtual bool CanPage { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A data-bound control can request paging by adding the <see cref="F:System.Web.UI.DataSourceCapabilities.Page" /> field to the <see cref="T:System.Web.UI.DataSourceSelectArguments" /> object passed to the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> method. If a data-bound control requests paging, but the <see cref="P:System.Web.UI.DataSourceView.CanPage" /> property returns false, the data source view throws an exception.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports paging through the data retrieved by the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> method.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CanRetrieveTotalRowCount">
      <MemberSignature Language="C#" Value="public virtual bool CanRetrieveTotalRowCount { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A data-bound control can request a total row count by adding the <see cref="F:System.Web.UI.DataSourceCapabilities.RetrieveTotalRowCount" /> field to the <see cref="T:System.Web.UI.DataSourceSelectArguments" /> object passed to the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> method. If a data-bound control requests a total row count, but the <see cref="P:System.Web.UI.DataSourceView.CanRetrieveTotalRowCount" /> property returns false, the data source view throws an exception.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports retrieving the total number of data rows, instead of the data.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CanSort">
      <MemberSignature Language="C#" Value="public virtual bool CanSort { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A data-bound control can request sorting by adding the <see cref="F:System.Web.UI.DataSourceCapabilities.Sort" /> field to the <see cref="T:System.Web.UI.DataSourceSelectArguments" /> object passed to the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> method. If a data-bound control requests sorting, but the <see cref="P:System.Web.UI.DataSourceView.CanSort" /> property returns false, the data source view throws an exception.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports a sorted view on the underlying data source.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CanUpdate">
      <MemberSignature Language="C#" Value="public virtual bool CanUpdate { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Web.UI.DataSourceView.CanUpdate" /> property reflects not only a capability of the data source control, but also whether it is currently appropriate to perform an operation. For example, even though a data-bound control supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> operation, if a required update command or some other data is not set, the <see cref="P:System.Web.UI.DataSourceView.CanUpdate" /> property returns false, as an update operation would fail.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> operation.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="DataSourceViewChanged">
      <MemberSignature Language="C#" Value="public event EventHandler DataSourceViewChanged;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The change to the data source view could be due to a change in the values of its properties, or to a change in the data due to a data operation performed by the data source view.</para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when the data source view has changed.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Delete">
      <MemberSignature Language="C#" Value="public virtual void Delete (System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Web.UI.DataSourceViewOperationCallback callBack);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="keys" Type="System.Collections.IDictionary" />
        <Parameter Name="values" Type="System.Collections.IDictionary" />
        <Parameter Name="callBack" Type="System.Web.UI.DataSourceViewOperationCallback" />
      </Parameters>
      <Docs>
        <param name="values">To be added.</param>
        <param name="callBack">To be added.</param>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Web.UI.DataSourceView.Delete(System.Collections.IDictionary,System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" /> method is the asynchronous data deletion interface for all data source view objects. The <see cref="M:System.Web.UI.DataSourceView.Delete(System.Collections.IDictionary,System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" /> method calls the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> method using any <paramref name="keys" /> and <paramref name="oldValues" /> parameter values supplied. The <paramref name="callback" /> parameter is a delegate that a data-bound control passes to the data source view, which is used to notify the data-bound control when the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation has completed. The method uses the parameters of the <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> delegate to return the number of affected records and any <see cref="T:System.Exception" /> exception that is thrown by the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> method.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Performs an asynchronous delete operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</para>
        </summary>
        <param name="keys">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of object or row keys to be deleted by the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Events">
      <MemberSignature Language="C#" Value="protected System.ComponentModel.EventHandlerList Events { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.ComponentModel.EventHandlerList</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This property is of type <see cref="T:System.ComponentModel.EventHandlerList" />, which uses a linear search algorithm to find entries in the list of delegates. A linear search algorithm is inefficient when working with a large number of entries. Therefore, when you have a large list, finding entries with this property will be slow.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a list of event-handler delegates for the data source view.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ExecuteDelete">
      <MemberSignature Language="C#" Value="protected virtual int ExecuteDelete (System.Collections.IDictionary keys, System.Collections.IDictionary values);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="keys" Type="System.Collections.IDictionary" />
        <Parameter Name="values" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <param name="values">To be added.</param>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Data-bound controls can determine whether the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation is supported by a data source control by retrieving the <see cref="T:System.Web.UI.DataSourceView" /> object using the <see cref="M:System.Web.UI.DataSourceControl.GetView(System.String)" /> method, and checking the <see cref="P:System.Web.UI.DataSourceView.CanDelete" /> property.</para>
          <para>The <paramref name="keys" /> parameter represents the object or row keys of the data to delete. For data sources that represent relational data, such as the <see cref="T:System.Web.UI.WebControls.SqlDataSource" /> control, the <paramref name="keys" /> parameter is a collection of database primary keys. In other scenarios, the <paramref name="keys" /> parameter is a collection of name/value pairs and is used to filter a list of data. Any data matching a name/value pair is deleted.</para>
          <block subset="none" type="note">
            <para>The <see cref="T:System.Web.UI.DataSourceView" /> class's default implementation is to throw a <see cref="T:System.NotSupportedException" /> exception. If you extend the <see cref="T:System.Web.UI.DataSourceView" /> class, override the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> method if your class supports deletion from the underlying data storage.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Performs a delete operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The number of items that were deleted from the underlying data storage.</para>
        </returns>
        <param name="keys">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of object or row keys to be deleted by the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ExecuteInsert">
      <MemberSignature Language="C#" Value="protected virtual int ExecuteInsert (System.Collections.IDictionary keys);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="keys" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <param name="keys">To be added.</param>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Data-bound controls can determine whether the <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> operation is supported by a data source control by retrieving the <see cref="T:System.Web.UI.DataSourceView" /> object using the <see cref="M:System.Web.UI.DataSourceControl.GetView(System.String)" /> method, and checking the <see cref="P:System.Web.UI.DataSourceView.CanInsert" /> property.</para>
          <para>The <paramref name="values" /> parameter is a set of name/value pairs that represents data columns or fields and corresponding values to insert.</para>
          <block subset="none" type="note">
            <para>The <see cref="T:System.Web.UI.DataSourceView" /> class's default implementation is to throw a <see cref="T:System.NotSupportedException" /> exception. If you extend the <see cref="T:System.Web.UI.DataSourceView" /> class, override the <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> method if your class supports insertion into the underlying data storage.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Performs an insert operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The number of items that were inserted into the underlying data storage.</para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ExecuteSelect">
      <MemberSignature Language="C#" Value="protected abstract System.Collections.IEnumerable ExecuteSelect (System.Web.UI.DataSourceSelectArguments arguments);" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.IEnumerable</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="arguments" Type="System.Web.UI.DataSourceSelectArguments" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> method is called to retrieve data from the underlying data store and return it as an <see cref="T:System.Collections.IEnumerable" /> object. All data source controls support data retrieval from their underlying data storage, even if other operations such as insertion and sorting are not supported. Because a data-bound control can request a list of data at any time as a result of a <see cref="E:System.Web.UI.IDataSource.DataSourceChanged" /> event or a <see cref="M:System.Web.UI.WebControls.BaseDataBoundControl.DataBind" /> method call, the data retrieval must be performed on demand.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a list of data from the underlying data storage.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Collections.IEnumerable" /> list of data from the underlying data storage.</para>
        </returns>
        <param name="arguments">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Web.UI.DataSourceSelectArguments" /> that is used to request operations on the data beyond basic data retrieval.</param>
      </Docs>
    </Member>
    <Member MemberName="ExecuteUpdate">
      <MemberSignature Language="C#" Value="protected virtual int ExecuteUpdate (System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Collections.IDictionary oldValues);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="keys" Type="System.Collections.IDictionary" />
        <Parameter Name="values" Type="System.Collections.IDictionary" />
        <Parameter Name="oldValues" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Data-bound controls can determine whether the <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> operation is supported by a data source control by using the <see cref="M:System.Web.UI.DataSourceControl.GetView(System.String)" /> method to retrieve the <see cref="T:System.Web.UI.DataSourceView" /> object and checking the value of the <see cref="P:System.Web.UI.DataSourceView.CanUpdate" /> property.</para>
          <para>The <paramref name="keys" /> parameter represents the object or row keys of the data to update. For data sources that represent relational data, such as the <see cref="T:System.Web.UI.WebControls.SqlDataSource" /> control, the <paramref name="keys" /> parameter is a collection of database primary keys. In other scenarios, the <paramref name="keys" /> parameter is a collection of name/value pairs and is used to filter a list of data. Any data matching a name/value pair is updated with the values found in the <paramref name="values" /> parameter, which is a set of name/value pairs that represents new values for existing fields or columns.</para>
          <block subset="none" type="note">
            <para>The <see cref="T:System.Web.UI.DataSourceView" /> class's default implementation is to throw a <see cref="T:System.NotSupportedException" /> exception. If you extend the <see cref="T:System.Web.UI.DataSourceView" /> class, override the <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> method if your class supports updating data in the underlying data storage.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Performs an update operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The number of items that were updated in the underlying data storage.</para>
        </returns>
        <param name="keys">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of object or row keys to be updated by the update operation.</param>
        <param name="values">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their new values.</param>
        <param name="oldValues">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their original values.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Insert">
      <MemberSignature Language="C#" Value="public virtual void Insert (System.Collections.IDictionary values, System.Web.UI.DataSourceViewOperationCallback callBack);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="values" Type="System.Collections.IDictionary" />
        <Parameter Name="callBack" Type="System.Web.UI.DataSourceViewOperationCallback" />
      </Parameters>
      <Docs>
        <param name="callBack">To be added.</param>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Web.UI.DataSourceView.Insert(System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" /> method is the asynchronous data insertion interface for all data source view objects. The <see cref="M:System.Web.UI.DataSourceView.Insert(System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" /> method calls the <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> method using any <paramref name="values" /> supplied. The <paramref name="callback" /> parameter is a delegate that a data-bound control passes to the data source view, which is used to notify the data-bound control when the <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> operation has completed. The method uses the parameters of the <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> delegate to return the number of affected records and any <see cref="T:System.Exception" /> exception that is thrown by the <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> method call.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Performs an asynchronous insert operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</para>
        </summary>
        <param name="values">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of name/value pairs used during an insert operation.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Name">
      <MemberSignature Language="C#" Value="public string Name { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the name of the data source view.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="OnDataSourceViewChanged">
      <MemberSignature Language="C#" Value="protected virtual void OnDataSourceViewChanged (EventArgs eventArgs);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="eventArgs" Type="System.EventArgs" />
      </Parameters>
      <Docs>
        <param name="eventArgs">To be added.</param>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Web.UI.DataSourceView.OnDataSourceViewChanged(System.EventArgs)" /> method notifies a data-bound control that the underlying data source has changed and that the control should rebind and perform any necessary work. Typically, the <see cref="M:System.Web.UI.DataSourceView.OnDataSourceViewChanged(System.EventArgs)" /> method is called when a property of the data source view has changed.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="F2ADAF01-1ED1-42E1-8C31-8D467E7E0EE2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Web.UI.DataSourceView.OnDataSourceViewChanged(System.EventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Web.UI.DataSourceView.DataSourceViewChanged" /> event.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="RaiseUnsupportedCapabilityError">
      <MemberSignature Language="C#" Value="protected virtual void RaiseUnsupportedCapabilityError (System.Web.UI.DataSourceCapabilities capability);" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="capability" Type="System.Web.UI.DataSourceCapabilities" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Web.UI.DataSourceView.RaiseUnsupportedCapabilityError(System.Web.UI.DataSourceCapabilities)" /> method is used by the data source view to examine each of the capabilities requested by a data-bound control, represented by the <see cref="T:System.Web.UI.DataSourceSelectArguments" /> object passed to the <see cref="M:System.Web.UI.DataSourceView.Select(System.Web.UI.DataSourceSelectArguments,System.Web.UI.DataSourceViewSelectCallback)" /> method, and compare it to the capabilities supported by the data source view. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Called by the <see cref="M:System.Web.UI.DataSourceSelectArguments.RaiseUnsupportedCapabilitiesError(System.Web.UI.DataSourceView)" /> method to compare the capabilities requested for an <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> operation against those that the view supports.</para>
        </summary>
        <param name="capability">
          <attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Web.UI.DataSourceCapabilities" /> values that is compared against the capabilities that the view supports.</param>
      </Docs>
    </Member>
    <Member MemberName="Select">
      <MemberSignature Language="C#" Value="public virtual void Select (System.Web.UI.DataSourceSelectArguments selectArgs, System.Web.UI.DataSourceViewSelectCallback callBack);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="selectArgs" Type="System.Web.UI.DataSourceSelectArguments" />
        <Parameter Name="callBack" Type="System.Web.UI.DataSourceViewSelectCallback" />
      </Parameters>
      <Docs>
        <param name="selectArgs">To be added.</param>
        <param name="callBack">To be added.</param>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Web.UI.DataSourceView.Select(System.Web.UI.DataSourceSelectArguments,System.Web.UI.DataSourceViewSelectCallback)" /> method is the asynchronous data retrieval interface for all data source view objects. The <see cref="M:System.Web.UI.DataSourceView.Select(System.Web.UI.DataSourceSelectArguments,System.Web.UI.DataSourceViewSelectCallback)" /> method calls the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> method, passing any <see cref="T:System.Web.UI.DataSourceSelectArguments" /> supplied. The <paramref name="callback" /> parameter is a delegate that a data-bound control passes to the data source view, which is used to notify the data-bound control when the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> operation has completed. The data returned by the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> call is returned in the parameter of the <see cref="T:System.Web.UI.DataSourceViewSelectCallback" /> delegate.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a list of data asynchronously from the underlying data storage.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Update">
      <MemberSignature Language="C#" Value="public virtual void Update (System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Collections.IDictionary oldValues, System.Web.UI.DataSourceViewOperationCallback callBack);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="keys" Type="System.Collections.IDictionary" />
        <Parameter Name="values" Type="System.Collections.IDictionary" />
        <Parameter Name="oldValues" Type="System.Collections.IDictionary" />
        <Parameter Name="callBack" Type="System.Web.UI.DataSourceViewOperationCallback" />
      </Parameters>
      <Docs>
        <param name="callBack">To be added.</param>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Web.UI.DataSourceView.Update(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" /> method is the asynchronous data modification interface for all data source view objects. The <see cref="M:System.Web.UI.DataSourceView.Update(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" /> method calls the <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> method using any <paramref name="keys" />, <paramref name="values" />, and <paramref name="oldValues" /> parameter values supplied. The <paramref name="callback" /> parameter is a delegate that a data-bound control passes to the data source view, which is used to notify the data-bound control when the <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> operation has completed. The method uses the parameters of the <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> delegate to return the number of affected records and any <see cref="T:System.Exception" /> exception that is thrown by the <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> call.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Performs an asynchronous update operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</para>
        </summary>
        <param name="keys">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of object or row keys to be updated by the update operation.</param>
        <param name="values">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their new values.</param>
        <param name="oldValues">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their original values.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>