<Type Name="DataModelHash" FullName="Gda.DataModelHash">
  <TypeSignature Language="C#" Value="public class DataModelHash : Gda.DataModel, IWrapper, IDisposable" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>gda-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <Attributes />
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>
      <para>
An implementation of <see cref="T:Gda.DataModel" /> based on a hash table.
</para>
    </summary>
    <remarks>
      <para>
Unlike <see cref="T:Gda.DataModelArray" />, this data model implementation stores the <see cref="T:Gda.Row" /> in a hash table.  So it only retrieves from the database backend exactly the requested rows (while in <see cref="T:Gda.DataModelArray" /> you have to retrieve all the rows until the one requested).
</para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>Gda.DataModel</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="GetValueAt">
      <MemberSignature Language="C#" Value="public static Gda.Value GetValueAt (Gda.DataModel model, int col, int row);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gda.Value</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="model" Type="Gda.DataModel" />
        <Parameter Name="col" Type="System.Int32" />
        <Parameter Name="row" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Retrieves the value at a specified column and row.
</para>
        </summary>
        <param name="model">a <see cref="T:Gda.DataModel" /></param>
        <param name="col">a <see cref="T:System.Int32" /></param>
        <param name="row">a <see cref="T:System.Int32" /></param>
        <returns>a <see cref="T:Gda.Value" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetRow">
      <MemberSignature Language="C#" Value="public static Gda.Row GetRow (Gda.DataModel model, int row);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gda.Row</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="model" Type="Gda.DataModel" />
        <Parameter Name="row" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Retrieves a row from the underlying hash table.
</para>
        </summary>
        <param name="model">a <see cref="T:Gda.DataModel" /></param>
        <param name="row">a <see cref="T:System.Int32" /></param>
        <returns>a <see cref="T:Gda.Row" /> or null if the requested row is not in the hash table.</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected override void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Clear">
      <MemberSignature Language="C#" Value="public void Clear ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>
Frees all the rows inserted in the model.
</para>
        </summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="InsertRow">
      <MemberSignature Language="C#" Value="public void InsertRow (int rownum, Gda.Row row);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="rownum" Type="System.Int32" />
        <Parameter Name="row" Type="Gda.Row" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Inserts a row in the model.
</para>
        </summary>
        <param name="rownum">a <see cref="T:System.Int32" /> the number of the row.</param>
        <param name="row">a <see cref="T:Gda.Row" /> to insert.</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public DataModelHash (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <returns>a <see cref="T:Gda.DataModelHash" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public DataModelHash (int cols);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="cols" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Creates a new DataModelHash with cols columns.
</para>
        </summary>
        <param name="cols">a <see cref="T:System.Int32" /> number of columns for rows in this data model.</param>
        <returns>a <see cref="T:Gda.DataModelHash" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NColumns">
      <MemberSignature Language="C#" Value="public int NColumns { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
          <para>
Sets the number of columns for rows inserted in this model.
</para>
        </summary>
        <returns>a <see cref="T:System.Int32" /> must be greater than or equal to 0</returns>
        <remarks>
          <para>
This property calls <see cref="M:Gda.DataModelHash.Clear" /> to free the existing rows if any.
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <returns>a <see cref="T:GLib.GType" /></returns>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gda.DataModelHash" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected DataModelHash (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Protected Constructor.</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <returns>a <see cref="T:Gda.DataModelHash" /></returns>
        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>