<?xml version="1.0"?>
<doc>
  <assembly>
    <name>C1.Win.C1FlexGrid.2</name>
  </assembly>
  <members>
    <member name="T:C1.C1Excel.Strings">
      <summary>
            Static class containing UI strings used by the designer.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ColumnFilter">
      <summary>
            Represents a filter that contains a <see cref="P:C1.Win.C1FlexGrid.ColumnFilter.ValueFilter" /> and a
            <see cref="P:C1.Win.C1FlexGrid.ColumnFilter.ConditionFilter" />.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ColumnFilter.ValueFilter">
      <summary>
            Gets the <see cref="P:C1.Win.C1FlexGrid.ColumnFilter.ValueFilter" /> contained in this <see cref="T:C1.Win.C1FlexGrid.ColumnFilter" />.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ColumnFilter.ConditionFilter">
      <summary>
            Gets the <see cref="P:C1.Win.C1FlexGrid.ColumnFilter.ConditionFilter" /> contained in this <see cref="T:C1.Win.C1FlexGrid.ColumnFilter" />.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ColumnFilter.IsActive">
      <summary>
            Gets or sets a value that determines whether the filter is active.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnFilter.Reset">
      <summary>
            Resets the filter making it inactive.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnFilter.Apply(System.Object)">
      <summary>
            Applies the filter to a value.
            </summary>
      <param name="value">Value to be filtered.</param>
      <returns>True if the <paramref name="value" /> satisfies the filter; False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnFilter.GetEditor">
      <summary>
            Gets the editor used to modify the filter at run time.
            </summary>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.IC1ColumnFilterEditor" /> that is used to edit the filter 
            at run time.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.IC1ColumnFilter">
      <summary>
            Interface implemented by column filter objects.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.IC1ColumnFilter.IsActive">
      <summary>
            Gets a value that determines whether the filter is active.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1ColumnFilter.Reset">
      <summary>
            Resets the filter making it inactive.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1ColumnFilter.Apply(System.Object)">
      <summary>
            Applies the filter to a value.
            </summary>
      <param name="value">Value to be filtered.</param>
      <returns>True if the <paramref name="value" /> satisfies the filter;
            False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1ColumnFilter.GetEditor">
      <summary>
            Gets the editor used to modify the filter at run time.
            </summary>
      <returns>A <see cref="T:System.Windows.Forms.Control" /> to be used to modify the filter at 
            run time.</returns>
      <remarks>The control returned must implement the <see cref="T:C1.Win.C1FlexGrid.IC1ColumnFilterEditor" />
            interface.</remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.IC1ColumnFilterEditor">
      <summary>
            Interface implemented by column filter editor controls.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1ColumnFilterEditor.Initialize(C1.Win.C1FlexGrid.C1FlexGridBase,System.Int32,C1.Win.C1FlexGrid.IC1ColumnFilter)">
      <summary>
            Initializes the editor with parameters from a filter to be edited.
            </summary>
      <param name="grid">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> that contains the column to be filtered.</param>
      <param name="columnIndex">Index of the column that contains the values to be filtered.</param>
      <param name="filter">
        <see cref="T:C1.Win.C1FlexGrid.IC1ColumnFilter" /> being edited.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1ColumnFilterEditor.ApplyChanges">
      <summary>
            Applies changes to the filter being edited.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.IC1ColumnFilterEditor.KeepFormOpen">
      <summary>
            Gets a value that determines whether the containing form should remain 
            open even when it is deactivated.
            </summary>
      <remarks>
            This property allows custom editors to display modal dialogs.
            </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ValueFilter">
      <summary>
            Represents a filter based on a set of values.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ValueFilter.ShowValues">
      <summary>
            Gets or sets an array with the values that should be included in the output.
            </summary>
      <remarks>
            Setting this property to null causes the filter to include all values in the output.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ValueFilter.ValuesLimit">
      <summary>
            Gets or sets the limit count of displayed values in value filter.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ValueFilter.IsActive">
      <summary>
            Gets or sets a value that determines whether the filter is active.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ValueFilter.Reset">
      <summary>
            Resets the filter making it inactive.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ValueFilter.Apply(System.Object)">
      <summary>
            Applies the filter to a value.
            </summary>
      <param name="value">Value to be filtered.</param>
      <returns>True if the <paramref name="value" /> satisfies the filter; False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ValueFilter.GetEditor">
      <summary>
            Gets the editor used to modify the filter at run time.
            </summary>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.IC1ColumnFilterEditor" /> that is used to edit the filter at run time.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Design.DesignStrings">
      <summary>
            Static class containing UI strings used by the designer.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Design.GridDesigner">
      <summary>
            Summary description for GridDesigner.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Design.GridDesigner.ActionLists">
      <summary>
            Gets the design time action lists supported by the component associated
            with this designer.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Design.GridDesigner.Initialize(System.ComponentModel.IComponent)">
      <summary>
            Initializes the designer with the specified component.
            </summary>
      <param name="component">Component associated with the designer.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Design.GridDesigner.Dispose(System.Boolean)">
      <summary>
            Releases the resources associated with the designer.
            </summary>
      <param name="disposing">True to release all resources, false to release unmanaged resources only.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Design.GridDesigner.GetHitTest(System.Drawing.Point)">
      <summary>
            Indicates whether a mouse click at the specified point should be handled by the control.
            </summary>
      <param name="pt">Point indicating the mouse position, in screen coordinates.</param>
      <returns>True if the control should handle the click, false otherwise.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ComboBoxEditor">
      <summary>
            Helper class that provides information about a currently active ComboBox editor.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ComboBoxEditor.SelectedIndex">
      <summary>
            Gets or sets the selected index in the currently active ComboBox editor.
            </summary>
      <remarks>
            If there's no active editor, or if the editor is not a ComboBox,
            the value returned is -1.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ComboBoxEditor.SelectedItem">
      <summary>
            Gets or sets the selected item in the currently active ComboBox editor.
            </summary>
      <remarks>
            If there's no active editor, or if the editor is not a ComboBox,
            the value returned is null.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ComboBoxEditor.SelectedKey">
      <summary>
            Gets the key that corresponds to the selected item in the currently 
            active ComboBox editor.
            </summary>
      <remarks>
            If there's no active editor, if the editor is not a <see cref="P:C1.Win.C1FlexGrid.ComboBoxEditor.ComboBox" />, or if the cell 
            being edited does not have an associated <b>DataMap</b>, the value returned is null.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ComboBoxEditor.Items">
      <summary>
            Gets the collection of items in the currently active ComboBox editor.
            </summary>
      <remarks>
            If there's no active editor, or if the editor is not a ComboBox,
            the value returned is null.
            </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.IC1EmbeddedEditor">
      <summary>
            Interface implemented by editors and used by the grid to host edit controls 
            on cells.
            </summary>
      <remarks>
        <para>All built-in grid editors implement this interface, as do the controls in the 
            ComponentOne <b>C1Input</b> library.</para>
        <para>If you want to use a third-party editor with the <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" />, consider
            creating a derived class and implementing this interface.</para>
        <para>Note that the methods in <b>IC1EmbeddedEditor</b> are called using reflection. 
            Controls do not need to implement the entire interface. Any public methods with matching 
            signatures (names, parameters, and return values) will be invoked by the grid. 
            The grid supplies default handlers for any methods not implemented by the control.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1EmbeddedEditor.C1EditorInitialize(System.Object,System.Collections.IDictionary)">
      <summary>
            Called to initialize the editor content and styles.
            </summary>
      <param name="value">Contains the grid data that should be displayed in the editor.</param>
      <param name="editorAttributes">Contains a dictionary with keys that correspond to style element names and values for the cell being edited.</param>
      <remarks>
        <para>The <paramref name="editorAttributes" /> dictionary contains the following keys:</para>
        <para>
          <b>BackColor</b>: Cell background color.</para>
        <para>
          <b>ForeColor</b>: Cell foreground color.</para>
        <para>
          <b>Font</b>: Cell font.</para>
        <para>
          <b>Format</b>: Cell format string (e.g. "#,##0.##").</para>
        <para>
          <b>ContentAlignment</b>: Cell text alignment.</para>
        <para>
          <b>Margins</b>: Extra margins around the cell content (in pixels).</para>
        <para>
          <b>Wrap</b>: Whether word wrapping is enabled.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1EmbeddedEditor.C1EditorGetValue">
      <summary>
            Gets the current value of the editor.
            </summary>
      <returns>The current value of the editor (any data type).</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1EmbeddedEditor.C1EditorValueIsValid">
      <summary>
            Gets a value that determines if the editor's current contents are valid.
            </summary>
      <returns>True if the editor currently has valid content (e.g it contains
            an <b>EditMask</b> and all required positions have been filled).
            </returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1EmbeddedEditor.C1EditorUpdateBounds(System.Drawing.Rectangle)">
      <summary>
            Called to update the editor's size and position.
            </summary>
      <param name="rc">The bounds of the cell being edited, in client coordinates.</param>
      <remarks>
            This method is called during initialization and also when the grid scrolls.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1EmbeddedEditor.C1EditorKeyDownFinishEdit(System.Windows.Forms.KeyEventArgs)">
      <summary>
            Gets a value that determines whether a given key should finalize editing.
            </summary>
      <param name="e">Key to be tested.</param>
      <returns>True if the key should finish the edits and close the editor.</returns>
      <remarks>
        <para>If this method returns true, the grid copies the editor value to the cell and
            exits edit mode. The key is then processed by the grid (unless the <b>e.Handled</b> 
            parameter is set to true).</para>
        <para>For example, pressing the down arrow typically causes the grid to exit edit 
            mode and move the cursor to the next row.</para>
        <para>The default handler returns true for the TAB, ENTER, and ESC keys.
            It also handles the arrow keys for editors based on <b>TextBox</b>, <b>ComboBox</b>, 
            and <b>DateTimePicker</b> controls.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1EmbeddedEditor.C1EditorFormat(System.Object,System.String)">
      <summary>
            Formats a given value using a specified mask.
            </summary>
      <param name="value">Value to be formatted.</param>
      <param name="mask">Formatting mask.</param>
      <returns>A string containing the formatted value.</returns>
      <remarks>The default implementation ignores the mask and returns <b>value.ToString()</b>.</remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1EmbeddedEditor.C1EditorGetStyle">
      <summary>
            Gets the editor style, which determines the type of button that is displayed in 
            the cell before and during editing (DropDown, Modal, or None).
            </summary>
      <remarks>
        <para>The default handler returns <b>DropDown</b> for ComboBoxes, DateTimePickers, and
            UpDown controls. It returns <b>None</b> for other control types.</para>
        <para>The <b>UITypeEditorEditStyle</b> enumeration is defined in the <b>System.Drawing.Design</b>
            namespace. The available settings are <b>DropDown</b>, <b>Modal</b>, and <b>None</b>.</para>
      </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.IC1MultiColumnDictionary">
      <summary>
            Interface that extends <see cref="T:System.Collections.IDictionary" /> and can be used to implement multi-column data maps.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1MultiColumnDictionary.GetDisplayValue(System.Object)">
      <summary>
            Gets the string that should be displayed in the grid while not in edit mode.
            </summary>
      <param name="key">Value to look up in the dictionary.</param>
      <returns>The string that should be displayed in the grid while not in edit mode.</returns>
      <remarks>
            When the <see cref="T:C1.Win.C1FlexGrid.IC1MultiColumnDictionary" /> is used to populate a <see cref="T:System.Windows.Forms.ComboBox" />,
            all columns are displayed when the combo is dropped down. When the combo is closed, only one
            column can be displayed. This method returns that value.
            </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.IC1MultiColumnDictionary2">
      <summary>
            Interface that extends <see cref="T:C1.Win.C1FlexGrid.IC1MultiColumnDictionary" /> and can be used to implement multi-column data maps.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.IC1MultiColumnDictionary2.GetColumnValue(System.Object,System.Int32)">
      <summary>
            Gets the string which is in given column of the dictionary.
            </summary>
      <param name="key">Value to look up in the dictionary.</param>
      <param name="columnIndex">&gt;Column index in the dictionary.</param>
      <returns>The string that should be displayed in the grid while not in edit mode.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.MultiColumnDictionary">
      <summary>
            Class that implements the <see cref="T:C1.Win.C1FlexGrid.IC1MultiColumnDictionary" /> and can be used as
            a column DataMap to create multi-column combo editors.
            </summary>
      <remarks>
            The <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" /> class can be used to implement simple string-based
            data maps or bound data maps that get the data from a data source object.
            </remarks>
      <example>
        <para>The code below creates an unbound two-column data map and assigns it to a grid column:</para>
        <code>
            // create string-based MultiColumnDictionary and assign it to column
            // note: this will automatically generate keys of type 'int' for each item,
            // the key values will be stored in the grid.
            string text = "Row1, Col1\tRow1, Col2|Row2, Col1\tRow2, Col3|Row2, Col1\tRow3, Col2";
            MultiColumnDictionary map = new MultiColumnDictionary(text, 0, true);
            _flex.Cols[1].DataMap = map;
            </code>
        <para>The map consists of three items, each with two columns. Because the <b>autoKeys</b>
            parameter was set to true in the map's constructor, the map will have unique integer keys for 
            each value,and those integers will be stored in the grid cells. If <b>autoKeys</b>
            had been set to false, the strings themselves would be used as keys and stored in the grid
            cells.</para>
        <para>The code below creates a bound data map and assigns it to a grid column:</para>
        <code>
            // create data-based MultiColumnDictionary and assign it to column
            // notes: the list will automatically be updated is the data source changes.
            DataTable dt = GetDataTable("employees");
            string[] columnNames = new string[] { "FirstName", "LastName", "Country" };
            MultiColumnDictionary map = new MultiColumnDictionary(dt, "EmployeeID", columnNames, 1);
            _flex.Cols[2].DataMap = map;
            </code>
        <para>This map is bound to an Employees DataTable. The <b>keyColumn</b> parameter is set
            to "EmployeeID", causing this field to be used as a key. When the grid is edited, the values 
            stored in the cells will be the employee's ID. However, this value is never displayed be the grid.</para>
        <para>The drop-down list will show the employee's first name, last name, and country, as specified by the 
            <b>columnNames</b> parameter.</para>
        <para>When the list is closed, the grid will display the employee's last name, as specified
            by the <b>displayColumn</b> parameter.</para>
        <para>Note that this map is dynamically bound to the data source, so if the employees table is
            modified, the editor list will reflect the changes automatically.</para>
        <para>Note also that the usual combo editing features such as auto-search and double-click cycling
            still work.</para>
      </example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.#ctor(System.String)">
      <summary>
            Initializes a new instance of an unbound <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" /> class.
            </summary>
      <param name="items">String that contains the items, delimited by pipe characters ("|"). 
            Each item may contain multiple columns, delimited by tabs (vbTab or '\t').</param>
      <remarks>
            This constructor causes the map to show all columns when the editor is dropped down and only the
            first column when the editor is closed or inactive.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.#ctor(System.String,System.Int32,System.Boolean)">
      <summary>
            Initializes a new instance of an unbound <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" /> class.
            </summary>
      <param name="items">String that contains the items. Items are delimited by pipe characters ("|"). 
            Each item may contain multiple columns, delimited by tabs (vbTab or '\t').</param>
      <param name="displayColumn">Index of the column that is displayed in the grid.</param>
      <param name="autoKeys">True if keys are to be automatically generated, false if the items themselves are 
            to be used as keys. Note that in the latter case, duplicate items are not allowed.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.#ctor(System.ComponentModel.ITypedList,System.String,System.String[],System.Int32)">
      <summary>
            Initializes a new instance of a bound <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" /> class.
            </summary>
      <param name="list">Data source object.</param>
      <param name="keyColumn">Name of the data source column that contains unique keys.</param>
      <param name="columnNames">Array with the names of the columns that are included in the map.</param>
      <param name="displayColumn">Name of the column that is displayed in the grid.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.#ctor(System.ComponentModel.ITypedList,System.String)">
      <summary>
            Initializes a new instance of a bound <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" /> class.
            </summary>
      <param name="list">Data source object.</param>
      <param name="keyColumn">Name of the data source column that contains unique keys.</param>
      <remarks>
            This constructor causes the map to show all columns when the editor is dropped down and only the
            first column when the editor is closed or inactive.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.#ctor(System.Data.DataTable,System.String,System.String[],System.Int32)">
      <summary>
            Initializes a new instance of a bound <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" /> class.
            </summary>
      <param name="table">Data source object.</param>
      <param name="keyColumn">Name of the data source column that contains unique keys.</param>
      <param name="columnNames">Array with the names of the columns that are included in the map.</param>
      <param name="displayColumn">Name of the column that is displayed in the grid.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.#ctor(System.Data.DataTable,System.String)">
      <summary>
            Initializes a new instance of a bound <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" /> class.
            </summary>
      <param name="table">Data source object.</param>
      <param name="keyColumn">Name of the data source column that contains unique keys.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.Clear">
      <summary>
            Removes all entries from the <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" />.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.Add(System.Object,System.Object)">
      <summary>
            Adds an entry with the specified key and value into the <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" />.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.MultiColumnDictionary.Item(System.Object)">
      <summary>
            Gets or sets the value associated with the specified key
            </summary>
      <param name="i">The key of the value to get or set.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.MultiColumnDictionary.GetColumnValue(System.Object,System.Int32)">
      <summary>
            Gets the string which is in given column of the dictionary.
            </summary>
      <param name="key">Value to look up in the dictionary.</param>
      <param name="columnIndex">&gt;Column index in the dictionary.</param>
      <returns>The string that should be displayed in the grid while not in edit mode.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AllowMergingEnum">
      <summary>
            Specifies how adjacent cells are merged for display.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.None">
      <summary>
            Do not merge any cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.Free">
      <summary>
            Merge any adjacent cells with same contents.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.RestrictRows">
      <summary>
            Merge rows only if cells above are also merged.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.RestrictCols">
      <summary>
            Merge columns only if cells to the left are also merged.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.RestrictAll">
      <summary>
            Merge cells only if cells above or to the left are also merged.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.FixedOnly">
      <summary>
            Merge only fixed cells. This setting is useful for setting up complex 
            headers for the data and preventing the data itself from being merged.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.Spill">
      <summary>
            Allow long entries to spill into empty adjacent cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.Nodes">
      <summary>
            Allow long entries in node rows to spill into empty adjacent cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.Custom">
      <summary>
            Use <see cref="P:C1.Win.C1FlexGrid.C1FlexGrid.MergedRanges" /> collection to determine which cells are merged.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowMergingEnum.Default">
      <summary>
            Use the setting specified for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGrid.AllowMerging" /> property.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.C1FlexGrid">
      <summary>
        <para>The C1FlexGrid control is a powerful, full-featured grid.</para>
        <para>C1FlexGrid provides advanced features such as outline trees, cell merging, 
            masked editing, translated combo and image lists, owner-draw cells, and automatic
            data aggregation.</para>
      </summary>
      <remarks>
        <para>C1FlexGrid can be used in bound mode, where it displays data from .NET 
            data sources, or in unbound mode, where the grid itself manages the data.</para>
        <para>You can use C1FlexGrid to read and write Excel files (.Xls), or read and write 
            grid contents to and from Xml files.</para>
        <para>Classes derived from <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" /> should have a LicenseProvider 
            attribute so Visual Studio will embed the appropriate licensing information into 
            projects that use the derived control.</para>
        <para>For example:</para>
        <code>
            [LicenseProvider(typeof(LicenseProvider))]
            public class MyGrid : C1FlexGrid
            {
              // implementation
            }
            </code>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.#ctor">
      <summary>
            Creates a new instance of the <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" /> control.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGrid.AllowMerging">
      <summary>
            Gets or sets how cells should be merged.
            </summary>
      <remarks>
        <para>Merging cells allows you to display data in a clear, appealing way,
            because it highlights groups of identical information. It also gives you 
            flexibility to build tables similar to the ones you can create in HTML or 
            using Microsoft Word, both of which support merged cells.</para>
        <para>To create tables with merged cells, set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGrid.AllowMerging" /> 
            property to a value other than <see cref="F:C1.Win.C1FlexGrid.AllowMergingEnum.None" />, and 
            set the <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowMerging" /> property of individual rows and 
            columns true for the rows and columns you wish to merge. After these 
            properties are set, the grid will  automatically merge adjacent cells 
            that have the same contents.</para>
        <para>Whenever the cell contents change, the grid updates the merging state.</para>
      </remarks>
      <example>
            The code below causes the grid to merge cells with the same data in column 1:
            <code>
            flex.AllowMerging = AllowMergingEnum.Free;
            flex.Cols[1].AllowMerging = true; // merge values in column 1
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGrid.AllowMergingFixed">
      <summary>
            Gets or sets how non-scrollable cells should be merged.
            </summary>
      <remarks>
        <para>By default, this property is set to <see cref="F:C1.Win.C1FlexGrid.AllowMergingEnum.Default" />, which 
            causes fixed cells to be merged with the same setting as scrollable cells.</para>
        <para>If you specify a different value for this property, you can use different merging
            modes for fixed cells such as column headers than the setting used for scrollable cells.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.GetMergedRange(System.Int32,System.Int32,System.Boolean)">
      <summary>
            Returns the merged range of cells that includes a given cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="clip">Whether the range should be clipped to the visible area of the grid.</param>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that contains the given cell.</returns>
      <remarks>
        <para>Cell merging is controlled by the <see cref="P:C1.Win.C1FlexGrid.C1FlexGrid.AllowMerging" /> property.
            The <see cref="M:C1.Win.C1FlexGrid.C1FlexGrid.GetMergedRange(System.Int32,System.Int32,System.Boolean)" /> method allows you to determine whether a cell is 
            merged with adjacent cells.</para>
        <para>You can override the <see cref="M:C1.Win.C1FlexGrid.C1FlexGrid.GetMergedRange(System.Int32,System.Int32,System.Boolean)" /> method to implement custom merging
            logic. If you do this, make sure the merging method is consistent and efficient, since
            it gets called frequently and affects the grid's appearance and behavior.</para>
      </remarks>
      <example>
            The code below checks the current cell after a selection to see if it is part
            of a merged range:
            <code>
            private void _flex_SelChange(object sender, System.EventArgs e)
            {
              CellRange rg = this._flex.GetMergedRange(_flex.Row, _flex.Col, false);
              if (!rg.IsSingleCell)
              {
                Console.WriteLine("selection is merged: {0},{1}-{2},{3}",
                rg.TopRow, rg.LeftCol, rg.BottomRow, rg.RightCol);
              }
            }
            </code>
            The code below shows how you can override the <see cref="M:C1.Win.C1FlexGrid.C1FlexGrid.GetMergedRange(System.Int32,System.Int32,System.Boolean)" /> method
            to provide custom merging:
            <code>
            public class CustomMerge : C1FlexGrid
            {
              public CustomMerge()
              {
                // allow free merging by default
                AllowMerging = AllowMergingEnum.Free;
                for (int r = 0; r &lt; Rows.Count; r++) Rows[r].AllowMerging = true;
                for (int c = 0; c &lt; Cols.Count; c++) Cols[c].AllowMerging = true;
              }
              override public CellRange GetMergedRange(int row, int col, bool clip)
              {
                // merge cells in range (1,1)-(3,3)
                if (row &gt;= 1 &amp;&amp; row &lt;= 3 &amp;&amp; col &gt;= 1 &amp;&amp; col &lt;= 3)
                  return GetCellRange(1, 1, 3, 3);
                  
                // don't merge anything else
                return GetCellRange(row, col);
              }
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.GetMergedRange(System.Int32,System.Int32)">
      <summary>
            Returns the merged range of cells that includes a given cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that contains the given cell.</returns>
      <remarks>
            This method returns the entire range, including invisible cells.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGrid.MergedRanges">
      <summary>
            Gets the <see cref="T:C1.Win.C1FlexGrid.CellRangeCollection" /> that determines which grid
            cells are merged when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGrid.AllowMerging" /> property is set to
            <see cref="F:C1.Win.C1FlexGrid.AllowMergingEnum.Custom" />.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.Transpose">
      <summary>
            Reflects grid over its main diagonal.
            </summary>
      <remarks>
            The <b>Transpose</b> method also removes sorting and filtering for every columns.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.Clear">
      <summary>
            Overridden to clear merged ranges.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.GetHeaderThemeState(System.Int32,System.Int32)">
      <summary>
            Gets the state for a Windows XP theme while the mouse moves over a cell.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the hot-tracking behavior. 
            </remarks>
      <param name="row">Row under the mouse.</param>
      <param name="col">Column under the mouse.</param>
      <returns>An integer representing the item state (2 for hot-tracking, 1 for normal).</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.GetCellGlyphs(System.Int32,System.Int32,System.Drawing.Rectangle,System.Drawing.Image@,System.Drawing.Image@,System.Drawing.Image@)">
      <summary>
            Gets a cell glyph to show in a cell.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the display of the sorting glyphs. 
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="rc">Cell rectangle</param>
      <param name="glyphSort">Glyph to display above the cell content.</param>
      <param name="glyphLeft">Glyphs to display on the left of the cell.</param>
      <param name="glyphRight">Glyphs to display on the right of the cell.</param>
      <returns>True if any glyphs were assigned to the cell, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.SetDataEdit(System.Int32,System.Int32,System.Object,System.Boolean)">
      <summary>
            Applies a value to a cell or cell range.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the way data
            coming from cell editors is applied to the cells. 
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="data">Data to be applied to the cell.</param>
      <param name="coerce">Whether the data should be coerced into the cell's data type.</param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.SetCellCheckEdit(System.Int32,System.Int32,C1.Win.C1FlexGrid.CheckEnum)">
      <summary>
            Applies a <see cref="T:C1.Win.C1FlexGrid.CheckEnum" /> value to a cell or cell range.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the way checkbox 
            data is applied to the cells. 
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="check">Value to apply to the cell.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.Invalidate(C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Invalidates a cell range, causing it to be repainted.
            </summary>
      <param name="rg">Range to be invalidated.</param>
      <remarks>
            This method is rarely used by the programmer, since the grid automatically 
            performs invalidation as needed.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.GetCellRectDisplay(System.Int32,System.Int32,System.Boolean,System.Boolean)">
      <summary>
            Gets a rectangle representing the coordinates of a cell, row, or column.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the way cell geometry
            is calculated.
            </remarks>
      <param name="row">Row index (or -1 to get column bounds).</param>
      <param name="col">Column index (or -1 to get row bounds).</param>
      <param name="clipHorz">Whether the rectangle should be horizontally clipped to the grid's client area.</param>
      <param name="clipVert">Whether the rectangle should be vertically clipped to the grid's client area.</param>
      <returns>A <see cref="T:System.Drawing.Rectangle" /> containing the display area for the row, column, or cell, in client
            coordinates and accounting for scroll position.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.GetCellRectEditor(System.Int32,System.Int32)">
      <summary>
            Gets a rectangle representing the coordinates of a cell editor.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the way cell geometry
            is calculated. 
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>Rectangle used to position the cell editor.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.StartEditing(System.Int32,System.Int32,System.Char,System.Boolean)">
      <summary>
            Starts editing a cell in response to a key press.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the editing process.
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="key">Key that initiated the edit process.</param>
      <param name="force">Whether editing should start even in non-editable cells (e.g. fixed cells).</param>
      <returns>True if the editing process was started successfully, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.StartEditing(System.Int32,System.Int32,System.Drawing.Point,System.Boolean)">
      <summary>
            Starts editing a cell in response to a mouse action.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the editing process.
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="ptMouse">Mouse position in client coordinates.</param>
      <param name="dblClick">Whether the action was a double-click.</param>
      <returns>True if the editing process was started successfully, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.IsCellCursor(System.Int32,System.Int32)">
      <summary>
            Gets a value that determines if a cell contains the grid cursor.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the cell contains the cursor, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.IsCellHighlighted(System.Int32,System.Int32)">
      <summary>
            Gets a value that determines if a cell is part of the selection and should be highlighted.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the cell should be highlighted, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.CheckNodeChildren(System.Int32,System.Int32,System.Int32)">
      <summary>
            Gets a value that indicates what types of child nodes a row has.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize outline trees.
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="level">Outline level.</param>
      <returns>Zero if the row has no children, 1 if it has regular data rows only, 
            2 if it has child nodes, and 3 if it has data and child nodes.
            </returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.DrawRow(System.Windows.Forms.PaintEventArgs,System.Int32)">
      <summary>
            Draws a grid row.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains a <see cref="T:System.Drawing.Graphics" />
            object where the row will be drawn.</param>
      <param name="row">Index of the row to draw.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.DrawCell(System.Windows.Forms.PaintEventArgs,System.Int32,System.Int32)">
      <summary>
            Draws a grid cell.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains a <see cref="T:System.Drawing.Graphics" />
            object where the cell will be drawn.</param>
      <param name="row">Index of the cell's row.</param>
      <param name="col">Index of the cell's column.</param>
      <returns>The index of the last column painted (may be greater than <paramref name="col" /> 
            if columns are merged).</returns>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.DrawCellImage(System.Drawing.Graphics,System.Int32,System.Int32,System.Drawing.Rectangle)">
      <summary>
            Draws a grid cell.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object where the cell will be drawn.</param>
      <param name="row">Index of the cell's row.</param>
      <param name="col">Index of the cell's column.</param>
      <param name="rcBounds">
        <see cref="T:System.Drawing.Rectangle" /> that defines the cell position.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.MoveSelection(C1.Win.C1FlexGrid.MoveCursorEnum,System.Boolean)">
      <summary>
            Moves or extends the current selection.
            </summary>
      <param name="move">
        <see cref="T:C1.Win.C1FlexGrid.MoveCursorEnum" /> value that specifies the type of cursor movement.</param>
      <param name="extend">Whether to extend the current selection.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.AutoSizeCols(System.Drawing.Graphics,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)">
      <summary>
            Automatically size grid columns to fit the largest entry.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object used to measure the cell contents.</param>
      <param name="row1">Index of the first row to be measured.</param>
      <param name="col1">Index of the first column to be measured.</param>
      <param name="row2">Index of the last row to be measured.</param>
      <param name="col2">Index of the first column to be measured.</param>
      <param name="extra">Extra space, in twips, to add to the largest entry.</param>
      <param name="flags">
        <see cref="T:C1.Win.C1FlexGrid.AutoSizeFlags" /> value that specifies auto sizing behavior.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.AutoSizeRows(System.Drawing.Graphics,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)">
      <summary>
            Automatically size grid columns to fit the largest entry.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object used to measure the cell contents.</param>
      <param name="row1">Index of the first row to be measured.</param>
      <param name="col1">Index of the first column to be measured.</param>
      <param name="row2">Index of the last row to be measured.</param>
      <param name="col2">Index of the first column to be measured.</param>
      <param name="extra">Extra space, in twips, to add to the largest entry.</param>
      <param name="flags">
        <see cref="T:C1.Win.C1FlexGrid.AutoSizeFlags" /> value that specifies auto-sizing behavior.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.OnGridChanged(System.Object,C1.Win.C1FlexGrid.GridChangedEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridChanged" /> event.
            </summary>
      <param name="sender">Object raising the event.</param>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.GridChangedEventArgs" /> that contains event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGrid.OnScroll(System.Windows.Forms.ScrollBars)">
      <summary>
            Called when the grid contents scroll.
            </summary>
      <param name="sb">
        <see cref="T:System.Windows.Forms.ScrollBars" /> value that specifies the scroll direction.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid scrolling behavior. 
            </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AllowResizingEnum">
      <summary>
            Specifies whether the user should be able to resize rows and columns with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowResizingEnum.None">
      <summary>
            The user may not resize rows or columns.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowResizingEnum.Columns">
      <summary>
            The user may resize columns with the mouse by dragging the edge of the column headers.
            Double-clicking the edge of a column header automatically sizes the column to fit the widest entry.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowResizingEnum.Rows">
      <summary>
            The user may resize rows with the mouse by dragging the edge of the row headers.
            Double-clicking the edge of a row header automatically sizes the row to fit the tallest entry.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowResizingEnum.Both">
      <summary>
            The user may resize rows and columns with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowResizingEnum.ColumnsUniform">
      <summary>
            The user may change the default column width with the mouse.
            Resizing any column will resize all columns that don't have a specific width assigned to them.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowResizingEnum.RowsUniform">
      <summary>
            The user may change the default row height with the mouse.
            Resizing any row will resize all rows that don't have a specific height assigned to them.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowResizingEnum.BothUniform">
      <summary>
            The user may change the default column width or row height with the mouse.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AllowFreezingEnum">
      <summary>
            Specifies whether the user should be able to freeze rows and columns with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFreezingEnum.None">
      <summary>
            The user may not freeze rows or columns.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFreezingEnum.Columns">
      <summary>
            The user may freeze columns by dragging the frozen region vertical boundary with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFreezingEnum.Rows">
      <summary>
            The user may freeze rows by dragging the frozen region horizontal boundary with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFreezingEnum.Both">
      <summary>
            The user may freeze rows and columns by dragging the frozen region boundaries with the mouse.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AllowDraggingEnum">
      <summary>
            Specifies whether the user should be able to drag rows and columns with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowDraggingEnum.None">
      <summary>
            The user may not drag rows or columns.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowDraggingEnum.Columns">
      <summary>
            The user may drag columns with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowDraggingEnum.Rows">
      <summary>
            The user may drag rows with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowDraggingEnum.Both">
      <summary>
            The user may drag rows and columns with the mouse.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AllowSortingEnum">
      <summary>
            Specifies whether the user should be able to sort columns with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowSortingEnum.None">
      <summary>
            The user may not sort columns with the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowSortingEnum.SingleColumn">
      <summary>
            The user may sort single columns by clicking on its header cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowSortingEnum.MultiColumn">
      <summary>
            The user may sort a range of columns by clicking on the header cell 
            of the rightmost column in the range.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.HighLightEnum">
      <summary>
            Specifies whether the grid should highlight the selected range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HighLightEnum.Never">
      <summary>
            Never highlight the selected range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HighLightEnum.Always">
      <summary>
            Always highlight the selected range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HighLightEnum.WithFocus">
      <summary>
            Highlight the selected range when the control has focus.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.FocusRectEnum">
      <summary>
            Specifies the appearance of the focus rectangle.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FocusRectEnum.None">
      <summary>
            No focus rectangle.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FocusRectEnum.Light">
      <summary>
            Show a light focus rectangle (dotted, 1-pixel wide). This is the default setting.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FocusRectEnum.Heavy">
      <summary>
            Show a heavy focus rectangle (dotted, 2-pixel wide).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FocusRectEnum.Solid">
      <summary>
            Show a solid focus rectangle. The color of the rectangle is determined by the 
            <b>BackColor</b> property of the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Highlight" /> style.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FocusRectEnum.Raised">
      <summary>
            Show a raised focus rectangle.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FocusRectEnum.Inset">
      <summary>
            Show an inset focus rectangle.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AutoSizeFlags">
      <summary>
            Specifies options that control auto-sizing.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AutoSizeFlags.None">
      <summary>
            Default behavior.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AutoSizeFlags.SameSize">
      <summary>
            All rows (or columns) in the range are set to the same size.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AutoSizeFlags.IgnoreHidden">
      <summary>
            Ignore invisible rows (or columns) when auto-sizing.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AutoSizeFlags.IgnoreMerged">
      <summary>
            Ignore merged cells when auto-sizing.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.DrawModeEnum">
      <summary>
            Specifies whether cells should be drawn entirely by the grid or with 
            help from custom drawing code.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DrawModeEnum.Normal">
      <summary>
            Grid cells are drawn by the grid.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DrawModeEnum.OwnerDraw">
      <summary>
            The grid fires the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event to allow custom
            cell drawing.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.DrawCellFlags">
      <summary>
            Specifies which elements of the cell should be drawn by the grid.
            </summary>
      <remarks>
        <para>This enumeration is used when rendering owner-drawn cells.</para>
        <para>If you set the <see cref="T:System.Windows.Forms.DrawMode" /> property to <see cref="F:C1.Win.C1FlexGrid.DrawModeEnum.OwnerDraw" />, 
            the grid will fire the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event to allow custom cell drawing.</para>
        <para>The <see cref="T:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs" /> parameter passed to the event handler has a 
            <see cref="M:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.DrawCell(C1.Win.C1FlexGrid.DrawCellFlags)" /> method that allows you to use the standard 
            drawing routines for rendering parts of the cell. For example, you can paint a custom background 
            and use the standard drawing routines for the cell borders and content.</para>
        <para>See the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event for an example.</para>
      </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DrawCellFlags.Background">
      <summary>
            Draw the cell background.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DrawCellFlags.Border">
      <summary>
            Draw the cell border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DrawCellFlags.Content">
      <summary>
            Draw the cell content (text, images, check boxes, etc).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DrawCellFlags.All">
      <summary>
            Draw all cell elements (background, border, and contents).
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ShowButtonsEnum">
      <summary>
            Specifies when the grid should display combo buttons in cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowButtonsEnum.WhenEditing">
      <summary>
            Show buttons only while editing the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowButtonsEnum.WithFocus">
      <summary>
            Show buttons when the cell has the focus. This is the default setting for grid.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowButtonsEnum.Always">
      <summary>
            Always show buttons.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowButtonsEnum.Never">
      <summary>
            Never show buttons.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowButtonsEnum.Inherit">
      <summary>
            ShowButtons property of the column is inherited from the grid. This is default setting for column. Cannot be used with ShowButtons property of the grid.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.EditFlags">
      <summary>
            Specifies options that customize the grid's editing behavior.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.None">
      <summary>
            No special behavior.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.AutoSearch">
      <summary>
            Search for entries in lists as the user types.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.CycleOnDoubleClick">
      <summary>
            Cycle to the next item on the list when the user double-clicks a cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.MultiCheck">
      <summary>
            Check and uncheck all check boxes in a selection simultaneously.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.UseNumericEditor">
      <summary>
            Use built-in numeric editor when editing numeric types.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.DelayedCommit">
      <summary>
            Commit changes to data source only when changing rows or moving focus.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.ExitOnLeftRightKeys">
      <summary>
            Exit editor if user presses the right arrow key at the end of the content 
            or the left arrow key at the start of the content.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.EditOnRequest">
      <summary>
            Enter edit mode only in response to mouse or keyboard events. Setting this
            flag to false causes the grid to enter edit mode when the control gets the
            focus or when the user moves the cursor.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.EditFlags.All">
      <summary>
            All of the above.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ShowThemedHeadersEnum">
      <summary>
            Specifies whether the control should use themes for displaying row or column headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowThemedHeadersEnum.Auto">
      <summary>
            Use themed headers when the <see cref="T:System.Windows.Forms.BorderStyle" /> property is set to <b>XpThemes</b>.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowThemedHeadersEnum.None">
      <summary>
            Do not use themed headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowThemedHeadersEnum.Rows">
      <summary>
            Use themed headers for row headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowThemedHeadersEnum.Columns">
      <summary>
            Use themed headers for column headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowThemedHeadersEnum.Both">
      <summary>
            Use themed headers for row and column headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowThemedHeadersEnum.SelectedOnly">
      <summary>
            Use themed headers to indicate selected rows and columns when VisualStyle 
            is set to one of the Office styles.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ScrollFlags">
      <summary>
            Specifies options that customize scrollbar behavior.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ScrollFlags.None">
      <summary>
            Use the default scrolling behavior.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ScrollFlags.AlwaysVisible">
      <summary>
            Keep scrollbars visible even when they are disabled.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ScrollFlags.ScrollByRowColumn">
      <summary>
            Scroll by rows and columns (instead of by pixel).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ScrollFlags.DelayedScroll">
      <summary>
            Do not scroll the control contents until the user releases the scrollbar thumb.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ScrollFlags.ShowScrollTips">
      <summary>
            Fire the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ShowScrollTip" /> event and display a tooltip next to 
            the vertical scrollbar while scrolling vertically.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ScrollFlags.KeepMergedRangePosition">
      <summary>
            Do not scroll the control to the first cell of merged range.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ClipboardCopyModeEnum">
      <summary>
            Specifies what parts of the grid should be copied to the clipboard when the
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoClipboard" /> property is set to true.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClipboardCopyModeEnum.DataOnly">
      <summary>
            Only the selected data is copied.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClipboardCopyModeEnum.DataAndColumnHeaders">
      <summary>
            Copy the selected data and include the column headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClipboardCopyModeEnum.DataAndRowHeaders">
      <summary>
            Copy the selected data and include the row headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClipboardCopyModeEnum.DataAndAllHeaders">
      <summary>
            Copy the selected data and include row and column headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClipboardCopyModeEnum.Disabled">
      <summary>
            Do not copy any data to the clipboard.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ShowSortPositionEnum">
      <summary>
            Specifies the position of the sort glyphs within the column header cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowSortPositionEnum.None">
      <summary>
            Do not show sort glyphs.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowSortPositionEnum.Right">
      <summary>
            Show sort glyphs on the right of the column header cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowSortPositionEnum.Top">
      <summary>
            Show sort glyphs on the top of the column header cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ShowSortPositionEnum.Auto">
      <summary>
            Show sort glyphs on the top of the column header cells if filtering 
            is enabled, and on the right otherwise.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.C1FlexGridBase">
      <summary>
            Base class for the <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" /> control.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Dispose(System.Boolean)">
      <summary>
            Releases all resources used by the <see cref="T:System.Windows.Forms.Control" />.
            </summary>
      <param name="disposing">True to release both managed and unmanaged resources; 
            False to release only unmanaged resources.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.BeginInit">
      <summary>
            Signals the object that initialization is starting.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.EndInit">
      <summary>
            Signals the object that initialization is complete.
            </summary>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetLocalizedString">
      <summary>
            Occurs when the filter localizes a string in the user interface.
            </summary>
      <remarks>
        <para>The <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" /> control automatically localizes the
            column filter based on the system's current culture and in the setting
            of the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Language" /> property.</para>
        <para>This event allows you to customize the filter strings or to
            implement localization to languages that are not supported by the grid's
            built-in localization mechanism.</para>
        <para>To modify the content of any of the filter's UI elements, handle
            this event and set the <b>e.Value</b> parameter to the text you would
            like to display.</para>
      </remarks>
      <example>
            The example below shows how you can change the strings in the filter
            UI based on the string value and on the name of the controls being
            localized:
            <code>
            void Initialize()
            {
              // enable filtering
              _flex.AllowFiltering = true;
              
              // set GetLocalizedString handler
              _flex.GetLocalizedString += _flex_GetLocalizedString;
            }
            void _flex_GetLocalizedString(object sender, C1.Win.C1FlexGrid.GetLocalizedStringEventArgs e)
            {
              // customize item based on text value
              if (e.Value == "(Select All)")
              {
                e.Value = "(Select Everything)";
              }
              
              // customize item based on component name
              switch (e.ComponentName)
              {
                case "_btnApplyFilter":
                  e.Value = "OK";
                  break;
                case "_btnClearFilter":
                  e.Value = "Reset";
                  break;
                case "_btnCancel":
                  e.Value = "Close";
                  break;
              }
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnGetLocalizedString(C1.Win.C1FlexGrid.GetLocalizedStringEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetLocalizedString" /> event.
            </summary>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.CreateAccessibilityInstance">
      <summary>
            Creates a new accessibility object for the control.
            </summary>
      <returns>A new <see cref="T:System.Windows.Forms.AccessibleObject" /> for the control.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetAccessibilityObjectById(System.Int32)">
      <summary>
            Retrieves the specified <see cref="T:System.Windows.Forms.AccessibleObject" />.
            </summary>
      <param name="objectId">Row index of the accessibility object to return.</param>
      <returns>The <see cref="T:System.Windows.Forms.AccessibleObject" /> for the specified row.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBindingContextChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.BindingContextChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.DefaultSize">
      <summary>
            Gets the default size of the control.
            </summary>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridChanged">
      <summary>
            Fires when the grid or its contents change.
            </summary>
      <remarks>
        <para>This is a general event that fires before more specific events.
            For example, if the user drags a column with the mouse, the control fires the 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragColumn" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridChanged" />, and 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragColumn" /> events.</para>
        <para>The <b>GridChanged</b> event allows you to create a centralized handler 
            for all types of grid events. It does not provide detailed arguments for 
            every event, nor the option of canceling user actions.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeMouseDown(C1.Win.C1FlexGrid.BeforeMouseDownEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown" /> event.
            </summary>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown">
      <summary>
            Fires before the <see cref="E:System.Windows.Forms.Control.MouseDown" /> event is handled by the grid.
            </summary>
      <remarks>
            This event fires before the grid processes the <see cref="E:System.Windows.Forms.Control.MouseDown" /> event, and
            gives the program a chance to customize the behavior of the control and optionally
            cancel the default handling of the mouse.
            </remarks>
      <example>
            The code below handles the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown" /> event to detect clicks 
            on row headers and provide OLE drag and drop functionality.
            <code>
            void _flex_BeforeMouseDown(object sender, C1.Win.C1FlexGrid.BeforeMouseDownEventArgs e)
            {
            	// start dragging when the user clicks the row headers
            	HitTestInfo hti = _flex.HitTest(e.X, e.Y);
            	if (hti.Type == HitTestTypeEnum.RowHeader)
            	{
            		e.Cancel = true;  // cancel default handling
            		HandleRowDragDrop(hti.Row); // handle row drag/drop
            	}
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeDoubleClick(C1.Win.C1FlexGrid.BeforeMouseDownEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDoubleClick" /> event.
            </summary>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDoubleClick">
      <summary>
            Fires before the DoubleClick event is handled by the grid.
            </summary>
      <remarks>
            This event fires before the grid processes the <see cref="E:System.Windows.Forms.Control.DoubleClick" /> event, and
            gives the program a chance to customize the behavior of the control and optionally
            cancel the default handling of the mouse.
            </remarks>
      <example>
            The code below handles the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDoubleClick" /> event to detect double-clicks 
            on cells in a specific column and provide a custom edit dialog instead of using the 
            built-in editor.
            <code>
            void _flex_BeforeDoubleClick(object sender, C1.Win.C1FlexGrid.BeforeMouseDownEventArgs e)
            {
            	// detect double-clicks on column "Customer"
            	HitTestInfo hti = _flex.HitTest(e.X, e.Y);
            	if (hti.Type == HitTestTypeEnum.Cell &amp;&amp; _flex[hti.Column].Name == "Customer")
            	{
            		e.Cancel = true;  // cancel default handling
            		ShowCustomEditDialog(hti.Row, hti.Column); // handle row drag/drop
            	}
            }
            </code></example>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragRow">
      <summary>
            Fires when the user starts dragging a row.
            </summary>
      <remarks>
        <para>This event only fires when the user drags a row using the mouse.</para>
        <para>It does not fire when a row is moved using the <see cref="M:C1.Win.C1FlexGrid.RowCollection.Move(System.Int32,System.Int32)" /> method.</para>
        <para>You can prevent specific rows from being dragged by the user by setting their 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowDragging" /> property to false.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeDragRow(C1.Win.C1FlexGrid.DragRowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.DragRowColEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.DraggingRow">
      <summary>
            Fires as the user drags a row to a new position.
            </summary>
      <remarks>
        <para>This event only fires when the user drags a row using the mouse.</para>
        <para>It does not fire when a row is moved using the <see cref="M:C1.Win.C1FlexGrid.RowCollection.Move(System.Int32,System.Int32)" /> method.</para>
        <para>You can prevent specific rows from being dragged by the user by setting their 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowDragging" /> property to false.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDraggingRow(C1.Win.C1FlexGrid.DragRowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.DraggingRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.DragRowColEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragRow">
      <summary>
            Fires after the user finishes dragging a row.
            </summary>
      <remarks>
        <para>This event only fires when the user drags a row using the mouse.</para>
        <para>It does not fire when a row is moved using the <see cref="M:C1.Win.C1FlexGrid.RowCollection.Move(System.Int32,System.Int32)" /> method.</para>
        <para>You can prevent specific rows from being dragged by the user by setting their 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowDragging" /> property to false.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterDragRow(C1.Win.C1FlexGrid.DragRowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.DragRowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragColumn">
      <summary>
            Fires when the user starts dragging a column.
            </summary>
      <remarks>
        <para>This event only fires when the user drags a column using the mouse.</para>
        <para>It is does not fire when a column is moved using the <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.Move(System.Int32,System.Int32)" /> method.</para>
        <para>You can prevent specific columns from being dragged by the user by setting their 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowDragging" /> property to false.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeDragColumn(C1.Win.C1FlexGrid.DragRowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragColumn" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.DragRowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.DraggingColumn">
      <summary>
            Fires as the user drags a column to a new position.
            </summary>
      <remarks>
        <para>This event only fires when the user drags a column using the mouse.</para>
        <para>It does not fire when a row is moved using the <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.Move(System.Int32,System.Int32)" /> method.</para>
        <para>You can prevent specific columns from being dragged by the user by setting their 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowDragging" /> property to false.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDraggingColumn(C1.Win.C1FlexGrid.DragRowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.DraggingColumn" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.DragRowColEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragColumn">
      <summary>
            Fires after the user finishes dragging a column.
            </summary>
      <remarks>
        <para>This event only fires when the user drags a column using the mouse.</para>
        <para>It does not fire when a column is moved using the <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.Move(System.Int32,System.Int32)" /> method.</para>
        <para>You can prevent specific columns from being dragged by the user by setting their 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowDragging" /> property to false.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterDragColumn(C1.Win.C1FlexGrid.DragRowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragColumn" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.DragRowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSort">
      <summary>
            Fires before a column is sorted by a click on a column header.
            </summary>
      <remarks>
        <para>This event only fires if the sorting was caused by a click on a column header. It does not fire 
            before sorting with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method.</para>
        <para>This event is useful when you want to prevent the user from sorting certain columns or to specify 
            custom sorting orders for specific columns. You may do so by modifying the value of the 
            <see cref="F:C1.Win.C1FlexGrid.SortColEventArgs.Order" /> parameter.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeSort(C1.Win.C1FlexGrid.SortColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSort" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.SortColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSort">
      <summary>
            Fires after a column is sorted by a click on a column header.
            </summary>
      <remarks>
        <para>This event only fires if the sorting was caused by a click on a column header cell (see the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowSorting" /> property). It does not fire after sorting with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method.</para>
        <para>This event is useful if you want to update user interface elements to reflect the new sorting. 
            To prevent certain columns from being sorted, or to alter their default sorting order, use the 
            <see cref="P:C1.Win.C1FlexGrid.Column.AllowSorting" /> or handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSort" /> event.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterSort(C1.Win.C1FlexGrid.SortColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSort" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.SortColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeAutosizeRow">
      <summary>
            Fires before a row is automatically resized by a double-click on a row header.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeAutosizeRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeAutosizeRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeAutosizeColumn">
      <summary>
            Fires before a column is automatically resized by a double-click on a column header.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeAutosizeColumn(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeAutosizeColumn" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeRow">
      <summary>
            Fires before a row is resized by dragging the row header.
            </summary>
      <remarks>
            Use the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowResizing" /> property to determine whether users 
            are allowed to resize rows, columns, or both. 
            <para><see cref="T:C1.Win.C1FlexGrid.Row" /> and <see cref="T:C1.Win.C1FlexGrid.Column" /> 
            objects also have an <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowResizing" /> property 
            that allows you to prevent specific rows and columns from being resized.</para></remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeResizeRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeAutosizeRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeRow">
      <summary>
            Fires after a row is resized by dragging the row header.
            </summary>
      <remarks>
            This event is fired after a row is resized by the user, by dragging the edge 
            of the row header cell with the mouse (see the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowResizing" /> property). 
            It is not fired when a row is resized by assigning a new value to the 
            <see cref="P:C1.Win.C1FlexGrid.Row.Height" /> property.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterResizeRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeColumn">
      <summary>
            Fires before a column is resized by dragging the column header.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeResizeColumn(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeColumn" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeColumn">
      <summary>
            Fires after a column is resized by dragging the column header.
            </summary>
      <remarks>
            This event is fired after a column is resized by the user, by dragging the edge 
            of the column header cell with the mouse (see the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowResizing" /> property). 
            It is not fired when a column is resized by assigning a new value to the 
            <see cref="P:C1.Win.C1FlexGrid.Column.Width" /> property.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterResizeColumn(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeColumn" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeFreezeRow">
      <summary>
            Fires before rows are frozen by dragging the frozen row divider.
            </summary>
      <remarks>
            Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFreezing" /> property to enable or disable row and column freezing.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeFreezeRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeFreezeRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterFreezeRow">
      <summary>
            Fires after rows are frozen by dragging the frozen row divider.
            </summary>
      <remarks>
            Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFreezing" /> property to enable or disable row and column freezing.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterFreezeRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterFreezeRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeFreezeColumn">
      <summary>
            Fires before columns are frozen by dragging the frozen column divider.
            </summary>
      <remarks>
            Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFreezing" /> property to enable or disable row and column freezing.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeFreezeColumn(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeFreezeColumn" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterFreezeColumn">
      <summary>
            Fires after columns are frozen by dragging the frozen column divider.
            </summary>
      <remarks>
            Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFreezing" /> property to enable or disable row and column freezing.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterFreezeColumn(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterFreezeColumn" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.MouseEnterCell">
      <summary>
            Fires when the mouse enters a cell.
            </summary>
      <remarks>
        <para>Many applications track mouse movement and react to the cell that is currently
            under the mouse. This can be done using the <see cref="E:System.Windows.Forms.Control.MouseMove" /> event, but that 
            is not very efficient since the event fires many times while the mouse is over the 
            same cell.</para>
        <para>The <b>MouseEnterCell</b> event allows you to implement cell tracking 
            efficiently, since it only fires once until the mouse leaves the cell.</para>
      </remarks>
      <example>
            The code below tracks mouse movement and highlights the cell under the mouse:
            <code>
            void Form1_Load(object sender, EventArgs e)
            {
              // create style for tracking cell under the mouse
              CellStyle cs = _flex.Styles.Add("track");
              cs.BackColor = Color.Gold;
            }
            void _flex_MouseEnterCell(object sender, RowColEventArgs e)
            {
              // apply tracking style when mouse enters the cell
              _flex.SetCellStyle(e.Row, e.Col, _flex.Styles["track"]);
            }
            void _flex_MouseLeaveCell(object sender, RowColEventArgs e)
            {
              // remove tracking style when mouse leaves the cell
              _flex.SetCellStyle(e.Row, e.Col, (CellStyle)null);
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnMouseEnterCell(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.MouseEnterCell" /> event.
            </summary>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.MouseLeaveCell">
      <summary>
            Fires when the mouse leaves a cell.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnMouseLeaveCell(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.MouseLeaveCell" /> event.
            </summary>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeScroll">
      <summary>
            Fires before the grid scrolls.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeScroll(C1.Win.C1FlexGrid.RangeEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeScroll" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RangeEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterScroll">
      <summary>
            Fires after the grid scrolls.
            </summary>
      <remarks>
            This event allows you to prevent the user from scrolling the grid while an operation 
            is being performed on the current selection.
            </remarks>
      <example>
            The code below prevents the grid from scrolling while the grid is in edit mode.
            <code>
            void _flex_BeforeScroll(object sender, C1.Win.C1FlexGrid.RangeEventArgs e)
            {
                if (_flex.Editor != null)
                    e.Cancel = true;
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterScroll(C1.Win.C1FlexGrid.RangeEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterScroll" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RangeEventArgs" /> object that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.ShowScrollTip">
      <summary>
            Fires before the vertical ScrollTip is displayed.
            </summary>
      <remarks>
        <para>This event fires only if the <b>ShowScrollTips</b> flag is set in the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ScrollOptions" /> property.</para>
        <para>It allows you to specify the text that will be displayed in the scroll tip.</para>
      </remarks>
      <example>
            The code below uses the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ShowScrollTip" /> event to display a scroll tip showing the value of the
            first cell that will become visible when the user stops scrolling.
            <code>
            _flex.ScrollOptions = ScrollFlags.DelayedScroll | ScrollFlags.ShowScrollTips;
            void _flex_ShowScrollTip(object sender, ToolTipEventArgs e)
            {
                e.ToolTipText = string.Format("row {0}", e.Row);
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnShowScrollTip(C1.Win.C1FlexGrid.ToolTipEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ShowScrollTip" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.ToolTipEventArgs" /> object that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeRowColChange">
      <summary>
            Fires before the current cell changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties).
            </summary>
      <remarks>
        <para>This event fires before the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> or <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties change, either as a 
            result of user actions or through code. It allows you to prevent the selection of certain cells, 
            thus creating "protected" ranges on a grid.</para>
        <para>
          <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeRowColChange" /> fires only when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> or <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> 
            properties are about to change. To detect extended selections, you also need to handle the 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSelChange" /> event.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeRowColChange(C1.Win.C1FlexGrid.RangeEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeRowColChange" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RangeEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterRowColChange">
      <summary>
            Fires after the current cell changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties).
            </summary>
      <remarks>
        <para>This event fires before the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> or <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties change, either as a 
            result of user actions (mouse or keyboard) or through code. It allows you to display additional information 
            about the currently selected row, column, or cell.</para>
        <para>To perform validation or prevent certain cells from being selected, use the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeRowColChange" /> 
            and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSelChange" /> events instead.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterRowColChange(C1.Win.C1FlexGrid.RangeEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterRowColChange" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RangeEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSelChange">
      <summary>
            Fires before the selection changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties).
            </summary>
      <remarks>
        <para>This event fires before the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties change, either as a result 
            of user actions or through code. It allows you to prevent the selection of certain cells, thus creating 
            "protected" ranges on a grid.</para>
        <para>To prevent the selection of a range, you also need to handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeRowColChange" /> event, which 
            is fired before the Row and Col properties change.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeSelChange(C1.Win.C1FlexGrid.RangeEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSelChange" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RangeEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSelChange">
      <summary>
            Fires after the selection changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties).
            </summary>
      <remarks>
        <para>This event is fired after the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> or <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties change, either as 
            a result of user actions (mouse or keyboard) or through code.</para>
        <para>This event is useful if you want to display additional information about the current selection. To 
            perform validation or prevent certain cells from being selected, use the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeRowColChange" /> and
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSelChange" /> events instead.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterSelChange(C1.Win.C1FlexGrid.RangeEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSelChange" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RangeEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowColChange">
      <summary>
            Fires after the current cell changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties).
            </summary>
      <remarks>
        <para>
          <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowColChange" /> fires when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> or <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties change, either 
            as a result of user actions (mouse or keyboard) or through code.</para>
        <para>This event does not fire when the selection changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> or <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties) 
            but the active cell (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />) remains the same. In this case, the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SelChange" /> 
            event fires instead.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnRowColChange(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowColChange" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RangeEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.SelChange">
      <summary>
            Fires after the selection changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties).
            </summary>
      <remarks>
        <para>
          <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SelChange" /> fires after the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, 
            or <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties change, either as a result of user actions (mouse or keyboard)
            or through code.</para>
        <para>This event also fires while the user extends the selection with the mouse.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnSelChange(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SelChange" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.LeaveCell">
      <summary>
            Fires before the current cell changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties).
            </summary>
      <remarks>
            This event fires before the cursor leaves the current cell, either as a result of user actions 
            (mouse or keyboard), or through code.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnLeaveCell(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.LeaveCell" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.EnterCell">
      <summary>
            Fires after the current cell changes (<see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties).
            </summary>
      <remarks>
            This event fires after the cursor enters a cell, either as a result of user actions (mouse or keyboard), 
            or through code.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnEnterCell(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.EnterCell" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit">
      <summary>
            Fires before the grid enters edit mode, and also when the cell that has the
            focus needs to be painted.
            </summary>
      <remarks>
        <para>This event doesn't fire only when the grid is about to enter edit mode.</para>
        <para>It also fires while painting cells, in order to support drawing the editor's
            drop-down buttons.</para>
        <para>The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartEdit" /> event fires only when the grid is about to enter
            edit mode.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeEdit(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartEdit">
      <summary>
            Fires before the control enters edit mode.
            </summary>
      <remarks>
        <para>This event fires before the control enters edit mode. It allows you to prevent 
            editing by setting the <b>Cancel</b> parameter to true, or to supply a list of choices 
            for a combo list using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property, or an edit mask using the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.EditMask" /> property.</para>
        <para>If the choices or the mask are the same for a whole column, you may set them more
            efficiently using the <see cref="P:C1.Win.C1FlexGrid.RowCol.ComboList" /> and <see cref="P:C1.Win.C1FlexGrid.RowCol.EditMask" />
            properties for the <see cref="T:C1.Win.C1FlexGrid.Column" /> object. In this case, there's no need to handle 
            the <b>StartEdit</b> event at all.</para>
        <para>The grid also exposes a <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" /> event. The difference between 
            the two is that <b>BeforeEdit</b> fires when the grid paints the cell that has the focus
            (so it can determine whether the cell has a drop-down button). <b>BeforeEdit</b> fires 
            more often than <b>StartEdit</b>, and does not always indicate that the grid is actually 
            entering edit mode.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnStartEdit(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartEdit" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterEdit">
      <summary>
            Fires after a cell has been edited.
            </summary>
      <remarks>
        <para>This event does not fire if the user cancels the edits by pressing the ESC key.</para>
        <para>The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.LeaveEdit" /> event fires whenever the grid leaves edit mode,
            even if the edits were canceled.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterEdit(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterEdit" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.LeaveEdit">
      <summary>
            Fires after the control leaves edit mode.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnLeaveEdit(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.LeaveEdit" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonClick">
      <summary>
            Fires after the user clicks a cell button.
            </summary>
      <remarks>
        <para>This event fires when the user clicks an edit button on a cell. Typically, 
            this event is used to pop up a custom editor for the cell (for example, dialogs for 
            selecting colors, dates, files, pictures, and so on).</para>
        <para>By default, cell edit buttons are displayed on the right side of a cell, 
            with an ellipsis caption ("..."). They are similar to the buttons displayed in the 
            <b>PropertyGrid</b> control, next to <b>Image</b> properties. You may customize 
            the button's appearance by assigning a picture to the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonImage" /> property.</para>
        <para>To create an edit button on a cell, you must set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> 
            property to true and set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property (on the grid or on specific 
            columns) to an ellipsis ("...").</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnCellButtonClick(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonClick" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetupEditor">
      <summary>
            Fires after a cell editor has been initialized by the grid, to allow additional custom initialization.
            </summary>
      <remarks>
        <para>This event can be used to customize the behavior of the cell editor by setting properties
            on the editor control.</para>
        <para>For example, the code below checks to see if the editor being used is a TextBox, and then
            sets the editor's CharacterCasing and MaxLength properties.</para>
        <code>
            void _flex_SetupEditor(object sender, RowColEventArgs e)
            {
                TextBox tb = _flex.Editor as TextBox;
                if (tb != null)
                {
                    if (_flex.Cols[e.Col].Name == "ID")
                        tb.MaxLength = 4;
                    else
                        tb.MaxLength = 32000;
                }
            }
            </code>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnSetupEditor(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetupEditor" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.ValidateEdit">
      <summary>
            Fires before the control exits cell edit mode, while the editor is still active.
            </summary>
      <remarks>
        <para>When this event fires, the contents of the editor have not been applied to the 
            grid. You can validate the editor contents and cancel the edits if necessary.</para>
        <para>To validate the editor contents, check the value contained in the <b>Editor.Text</b> 
            property. If the value is invalid for the cell, set the <b>Cancel</b> parameter to true 
            and the grid will remain in edit mode until the user types a valid entry.</para>
        <example>
            For example, the code below checks to make sure the value entered is an integer
            between 0 and 100:
            <code>
            void _flex_ValidateEdit(object sender, ValidateEditEventArgs e)
            {
                if (_flex.Cols[e.Col].Name = "Score")
                {
                    try
                    {
                        int value = int.Parse(_flex.Editor.Text);
                        if (value &gt;= 0 &amp;&amp; value &lt;= 50)
                            return; // accept edits
                    }
                    catch {}
                
                    // error or invalid range, refuse edits
                    e.Cancel = true;
                }
            }
            </code></example>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnValidateEdit(C1.Win.C1FlexGrid.ValidateEditEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ValidateEdit" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.ValidateEditEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellChecked">
      <summary>
            Fires after a checkbox in a cell is checked or unchecked by the user.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnCellChecked(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellChecked" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.ValidateEditEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.ChangeEdit">
      <summary>
            Fires in edit mode, after the contents of the editor change.
            </summary>
      <remarks>
        <para>This event fires while the grid is in edit mode and the contents of the editor change.
            This may be caused by the user typing into the editor or selecting a new item in a 
            drop down list.</para>
        <para>When this event fires, the new editor content has not been applied to the grid cell yet.
            You may check the new content using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> property.</para>
      </remarks>
      <example>
            The code below shows a message when the text being edited contains more than 10 characters:
            <code>
            void _flex_ChangeEdit(object sender, EventArgs e)
            {
              // get text in editor
              string text = _flex.Editor.Text;
            
              // show message if it's too long
              statusStrip1.Text = text.Length &gt; 10
                ? "This text seems too long..."
                : "This text looks OK...";
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnChangeEdit(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ChangeEdit" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.ComboDropDown">
      <summary>
            Fires in edit mode, when the dropdown portion of an editor opens.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnComboDropDown(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ComboDropDown" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.ComboCloseUp">
      <summary>
            Fires in edit mode, when the dropdown portion of an editor closes.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnComboCloseUp(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ComboCloseUp" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyDownEdit">
      <summary>
            Fires in edit mode, when the user presses a key.
            </summary>
      <remarks>
        <para>The <b>KeyDownEdit</b> event corresponds to the <see cref="E:System.Windows.Forms.Control.KeyDown" /> event, 
            except it fires when the grid is in edit mode (in this case, the control that received the 
            key is the editor, not the grid itself).</para>
        <para>The editor has three modes: text, drop-down combo, or drop-down list. The mode used is 
            determined by the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> properties in the grid and column objects.</para>
        <para>While editing with the text editor or with a drop-down combo, you may set or retrieve 
            the contents of the editor by retrieving the editor control with the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> 
            property and casting it to the proper type.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnKeyDownEdit(C1.Win.C1FlexGrid.KeyEditEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyDownEdit" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.KeyEditEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyUpEdit">
      <summary>
            Fires in edit mode, when the user releases a key.
            </summary>
      <remarks>
        <para>The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyUpEdit" /> event corresponds to the <see cref="E:System.Windows.Forms.Control.KeyUp" /> 
            event, except it fires when the grid is in edit mode (in this case, the control that 
            receives the key is the editor, not the grid itself).</para>
        <para>The editor has three modes: text, drop-down combo, or drop-down list. The mode 
            used is determined by the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> properties in the grid and column objects.</para>
        <para>While editing with the text editor or with a drop-down combo, you may set or retrieve 
            the contents of the editor by retrieving the editor control with the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> 
            property and casting it to the proper type.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnKeyUpEdit(C1.Win.C1FlexGrid.KeyEditEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyUpEdit" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.KeyEditEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyPressEdit">
      <summary>
            Fires in edit mode, when the user presses a character key.
            </summary>
      <remarks>
        <para>The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyPressEdit" /> event corresponds to the 
            <see cref="E:System.Windows.Forms.Control.KeyPress" /> event, except it fires when the 
            grid is in edit mode (in this case, the control that receives the 
            key is the editor, not the grid itself).</para>
        <para>The editor has three modes: text, drop-down combo, or drop-down list. 
            The mode used is determined by the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> properties in the 
            grid and column objects.</para>
        <para>While editing with the text editor or with a drop-down combo, you may set
            or retrieve the contents of the editor by retrieving the editor control with the
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> property and casting it to the proper type.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnKeyPressEdit(C1.Win.C1FlexGrid.KeyPressEditEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyPressEdit" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.KeyPressEditEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellChanged">
      <summary>
            Fires after the contents of a cell have changed.
            </summary>
      <remarks>
        <para>This event allows you to perform processing whenever the contents of a cell 
            change, regardless of how they were changed (for example, a user typed data into 
            the cell, data got loaded from a database, or data was assigned to the grid through code).</para>
        <para>This event can be used to provide conditional formatting and dynamic data summaries, 
            which get updated automatically whenever the data changes.</para>
        <para>This event fires in bound and unbound modes. In some bound more scenarios, the
            data source object may inform the grid that some data in the current row changed, without
            specifying which column changed. In this case, the <b>Col</b> parameter will be set to -1.
            Event handlers should be prepared to handle this situation without throwing exceptions.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnCellChanged(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellChanged" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDataRefresh">
      <summary>
            Fires after any data source change notifications.
            </summary>
      <remarks>
        <para>When the grid is used in bound mode, any changes to the data source cause the 
            grid to fire the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDataRefresh" /> event. This event is the ideal place 
            to put code that updates the grid with data-dependent elements such as subtotals and 
            outline trees.</para>
        <para>
          <b>Note:</b> The <see cref="T:System.ComponentModel.ListChangedEventHandler" /> delegate is defined in 
            the <b>System.ComponentModel</b> namespace.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDataRefresh(System.ComponentModel.ListChangedEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDataRefresh" /> event.
            </summary>
      <param name="e">A <see cref="T:System.ComponentModel.ListChangedEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridError">
      <summary>
            Fires after the data source reports an error condition.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnGridError(C1.Win.C1FlexGrid.GridErrorEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridError" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.GridErrorEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetUnboundValue">
      <summary>
            Fires when the grid needs to retrieve data for an unbound cell.
            </summary>
      <remarks>
        <para>This event fires in bound mode when the grid contains unbound columns. 
            Unbound columns are columns that have the <b>Name</b> property set to values
            that do not map to columns in the data source. The information in unbound columns
            must be provided by the application, by setting the <b>Value</b> property of the
            <see cref="T:C1.Win.C1FlexGrid.UnboundValueEventHandler" /> parameter.</para>
        <para>The <see cref="T:System.Data.DataTable" /> class supports calculated columns that in many 
            situations can be used instead of unbound columns.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnGetUnboundValue(C1.Win.C1FlexGrid.UnboundValueEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetUnboundValue" /> event.
            </summary>
      <param name="e">An <see cref="T:C1.Win.C1FlexGrid.UnboundValueEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetUnboundValue">
      <summary>
            Fires when the grid needs to store data in an unbound cell.
            </summary>
      <remarks>
        <para>This event fires in bound mode when the grid contains unbound columns. 
            Unbound columns are columns that have the <b>Name</b> property set to values
            that do not map to columns in the data source. The information in unbound columns
            must be provided by the application using the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetUnboundValue" /> event.</para>
        <para>In most cases, unbound columns are read-only, and you don't need to handle this event. 
            However, if a value is assigned to an unbound cell, either through editing or programmatically, 
            the grid fires this event to allow the application to store the value using whatever mechanism 
            is appropriate.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnSetUnboundValue(C1.Win.C1FlexGrid.UnboundValueEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetUnboundValue" /> event.
            </summary>
      <param name="e">An <see cref="T:C1.Win.C1FlexGrid.UnboundValueEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.DataBindingComplete">
      <summary>
            Fires after a data-binding operation has finished.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDataBindingComplete(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.DataBindingComplete" /> event.
            </summary>
      <param name="e">
        <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.DataSourceChanged">
      <summary>
            Fires when the value of the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> property changes.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDataSourceChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.DataSourceChanged" /> event.
            </summary>
      <param name="e">
        <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.DataMemberChanged">
      <summary>
            Fires when the value of the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataMember" /> property changes.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDataMemberChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.DataMemberChanged" /> event.
            </summary>
      <param name="e">
        <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeCollapse">
      <summary>
            Fires before a node row is collapsed or expanded.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeCollapse(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeCollapse" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterCollapse">
      <summary>
            Fires after a node row is collapsed or expanded.
            </summary>
      <para>
        <para>The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeCollapse" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterCollapse" /> events 
            fire before and after node rows are expanded or collapsed. You can determine 
            whether the node is being collapsed or expanded by checking the value of the 
            node's its <see cref="P:C1.Win.C1FlexGrid.Node.Expanded" /> property.</para>
        <para>These events allow you to populate outlines on demand, so you only need 
            to create the rows that will actually be shown to the user. For example, if 
            you are using the grid to display a directory tree, it would take a long time 
            to read each directory on the disk in order to populate the tree.</para>
      </para>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterCollapse(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterCollapse" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell">
      <summary>
            Fires before the grid draws a cell, when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DrawMode" /> property is set to <see cref="F:C1.Win.C1FlexGrid.DrawModeEnum.OwnerDraw" />.
            </summary>
      <remarks>
        <para>The <b>OwnerDrawCell</b> event only fires when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DrawMode" /> property is 
            set to <see cref="F:C1.Win.C1FlexGrid.DrawModeEnum.OwnerDraw" />.</para>
        <para>You can use this event to customize the appearance of any cell in the grid. 
            The event allows three main types of customization:</para>
        <list type="number">
          <item>
            <term>
            </term>
            <description>
            Change the value of the <b>Text</b> and <b>Image</b> parameters to modify the values displayed 
            by the grid. You can use this type of customization to replace password strings with asterisks, 
            for example.</description>
          </item>
          <item>
            <term>
            </term>
            <description>
            Change the <b>Style</b> property to display the cell using a different style than the one 
            selected by the grid by default. You can use this type of customization to provide conditional 
            formatting, for example.</description>
          </item>
          <item>
            <term>
            </term>
            <description>
            Use the <b>Graphics</b> and <b>Bounds</b> parameters and draw the cell yourself. When drawing 
            cells this way, you may call the <see cref="M:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.DrawCell(C1.Win.C1FlexGrid.DrawCellFlags)" /> member to force 
            the grid to draw specific parts of the cell, while your code draws other parts. For example, 
            you could paint a custom background and then call <b>DrawCell</b> to have the grid paint the cell
            border and contents.
            </description>
          </item>
        </list>
        <para>The <b>OwnerDrawCell</b> event also fires when the grid auto sizes rows or columns (see the 
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeRows(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> methods). This is done because the 
            grid needs to measure the cell using the same text, image, and style parameters that are used to 
            render it. In these cases, the <b>Measuring</b> parameter is set to true and the <b>Bounds</b>
            rectangle is empty.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnOwnerDrawCell(C1.Win.C1FlexGrid.OwnerDrawCellEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event.
            </summary>
      <param name="e">An <see cref="T:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforePageBreak">
      <summary>
            Fires while the control is being printed to provide control over page breaks.
            </summary>
      <remarks>
        <para>This event is fired while the control is being printed with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)" />
            method to provide control over page breaks.</para>
        <para>Set the <b>Cancel</b> parameter to true to indicate that the given <b>Row</b> should 
            not be printed at the top of a page. In this case, the control will move the break point up 
            and fire the event again until it finds a valid break point. Note that you can only prevent
            page breaks, not force them.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforePageBreak(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforePageBreak" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeginPrint">
      <summary>
            Fires before the grid starts printing.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeginPrint(System.Drawing.Printing.PrintEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeginPrint" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Drawing.Printing.PrintEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.EndPrint">
      <summary>
            Fires after the grid finishes printing.
            </summary>
      <remarks>
        <para>This event is typically used to update the user interface and provide
            feedback while printing the grid.</para>
        <para>Use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)" /> method to print the grid and specify the document 
            name, common printing options, headers and footers.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.PrintParameters" /> property to specify less common printing 
            options such as header and footer fonts, page margins, orientation, and so on.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnEndPrint(System.Drawing.Printing.PrintEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.EndPrint" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Drawing.Printing.PrintEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.PrintPage">
      <summary>
            Fires after the grid finishes printing a page.
            </summary>
      <remarks>
        <para>This event is typically used to provide feedback while printing the grid,
            and to offer the user a cancel button that can be used to stop the printing process.
            You can also use this event to add custom elements to the printed pages.</para>
        <para>Use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)" /> method to print the grid and specify the document name, 
            common printing options, headers and footers.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.PrintParameters" /> property to specify less common printing options 
            such as header and footer fonts, page margins, orientation, and so on.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnPrintPage(System.Drawing.Printing.PrintPageEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.PrintPage" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Drawing.Printing.PrintPageEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartDrag">
      <summary>
            Fires before the grid starts an automatic OLE drag operation.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnStartDrag(System.Windows.Forms.DragEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartDrag" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.DragEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeAddRow">
      <summary>
            Fires before a new row is added by the user.
            </summary>
      <remarks>
        <para>This event only fires when <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowAddNew" /> is set to true and 
            the user creates a new empty row by moving the cursor into the last row on the grid. 
            It does not fire when a new row is added to the grid programmatically or when a
            row is added to the grid's data source.</para>
        <para>You can use this event to cancel the creation of new rows by setting the 
            <b>Cancel</b> parameter to true. In this case, the cursor does not move into 
            the new row.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeAddRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeAddRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterAddRow">
      <summary>
            Fires after a new row is added by the user.
            </summary>
      <remarks>
        <para>This event only fires when <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowAddNew" /> property is set to true 
            and the user creates a new empty row by moving the cursor into the last row on the 
            grid.</para>
        <para>It does not fire when a new row is added to the grid programmatically or 
            through the grid's data source.</para>
        <para>You can use this event to initialize the new rows.</para>
        <para>When a new row is created this way, it is initially empty, and the user may 
            cancel the row by moving the cursor out of the new row before making any edits. 
            In this case, the grid fires the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CancelAddRow" /> event and the new 
            (empty) row is removed.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterAddRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterAddRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.CancelAddRow">
      <summary>
            Fires when the cursor leaves the new row without making any changes to it.
            </summary>
      <remarks>
            For details, see the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterAddRow" /> event.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnCancelAddRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CancelAddRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDeleteRow">
      <summary>
            Fires before a row is deleted by the user.
            </summary>
      <remarks>
        <para>This event only fires when <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowDelete" /> is set to true and the 
            user deletes one or more rows by selecting them and pressing the DEL key. 
            It does not fire when rows are removed from the grid programmatically or through 
            the grid's data source.</para>
        <para>You can use this event to cancel the deletion of the rows by setting the 
            <b>Cancel</b> parameter to true.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeDeleteRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDeleteRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDeleteRow">
      <summary>
            Fires after one or more rows are deleted by the user.
            </summary>
      <remarks>
        <para>This event only fires when <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowDelete" /> property is set to True 
            and the user deletes one or more rows by pressing the DEL key. It does not fire 
            when rows are removed from the grid programmatically or through the grid's data source.</para>
        <para>When this event fires, the rows have already been removed from the grid, so the 
            <b>Row</b> parameter is always set to E.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterDeleteRow(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDeleteRow" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellErrorInfo">
      <summary>
            Fires when <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowErrors" /> is set to true and the control needs error information for a cell.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnGetCellErrorInfo(C1.Win.C1FlexGrid.GetErrorInfoEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellErrorInfo" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.GetErrorInfoEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetRowErrorInfo">
      <summary>
            Fires when <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowErrors" /> is set to true and the control needs error information for a row.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnGetRowErrorInfo(C1.Win.C1FlexGrid.GetErrorInfoEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetRowErrorInfo" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.GetErrorInfoEventArgs" /> that contains event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSubtotal">
      <summary>
            Fires before each subtotal row is added to the grid.
            </summary>
      <remarks>
        <para>Subtotal rows are added when the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method is invoked.</para>
        <para>The event handler may prevent the grid from adding a particular row, or it
            may customize the caption, style, and aggregate value used in the new subtotal row.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeSubtotal(C1.Win.C1FlexGrid.SubtotalEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSubtotal" /> event.
            </summary>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.SubtotalEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSubtotal">
      <summary>
            Fires after each subtotal row has been added to the grid.
            </summary>
      <remarks>
            Subtotal rows are added when the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method is invoked.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterSubtotal(C1.Win.C1FlexGrid.SubtotalEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSubtotal" /> event.
            </summary>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.SubtotalEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeFilter">
      <summary>
            Fires before the column filters are applied to the grid.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeFilter(System.ComponentModel.CancelEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeFilter" /> event.
            </summary>
      <param name="e">
        <see cref="T:System.ComponentModel.CancelEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterFilter">
      <summary>
            Fires after the column filters have been applied to the grid.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAfterFilter(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterFilter" /> event.
            </summary>
      <param name="e">
        <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Item(System.Int32,System.Int32)">
      <summary>
            Gets or sets the data in a grid cell.
            </summary>
      <remarks>
        <para>This is one of the indexers you can use to get or set the data stored in grid cells.</para>
        <para>You can index cells using the row and column indices or using the row 
            index and column name.</para>
        <para>Using integer indices is more efficient, because the grid doesn't have to 
            look up the column. Using column names is more flexible, because references 
            remain valid even if the user moves columns to a new position.</para>
        <para>When assigning a value to a cell, the grid tries to convert it into the type 
            specified for the column (see the <see cref="P:C1.Win.C1FlexGrid.RowCol.DataType" /> property). If the 
            grid can't convert the value, it fires the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridError" /> event and the 
            cell retains its original value.</para>
      </remarks>
      <example>
            The example below creates a column and assigns it a name, then sets the value of
            a cell using the column index and retrieves the value using the column name:
            <code>
            // create a column, assign it a name and get the new index
            Column myCol = flex.Cols.Add();
            myCol.Name = "address";
            myCol.DataType = typeof(string);
            int colIndex = myCol.Index;
            
            // assign a value to a cell using cell coordinates:
            flex[1, colIndex] = "555, Broadway";
            
            // get the value using the column name
            string address = (string)flex[1, "address"];
            MessageBox.Show("The address is " + address);
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Item(System.Int32,System.String)">
      <summary>
            Gets or sets the data in a grid cell.
            </summary>
      <remarks>
        <para>This is one of the indexers you can use to get or set the data stored in grid cells.</para>
        <para>You can index cells using the row and column indices or using the row index and column name.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellStyle(System.Int32,System.String)">
      <summary>
            Gets a custom <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> associated with a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <returns>
        <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object associated with the cell, 
            or null if the cell doesn't have a custom style.</returns>
      <remarks>
            If the cell doesn't have a custom style, the grid paints it using one of the 
            built-in styles. The built-in style is selected based on the cell position 
            and state (fixed, scrollable, highlighted, etc). To retrieve the style that 
            will be used to paint the cell (custom or built-in) use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellStyleDisplay(System.Int32,System.Int32)" /> method.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellStyle(System.Int32,System.Int32)">
      <summary>
            Gets a custom <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> associated with a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>
        <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object associated with the cell, 
            or null if the cell doesn't have a custom style.</returns>
      <remarks>
            If the cell doesn't have a custom style, the grid paints it using one of the 
            built-in styles. The built-in style is selected based on the cell position 
            and state (fixed, scrollable, highlighted, etc). To retrieve the style that 
            will be used to paint the cell (custom or built-in) use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellStyleDisplay(System.Int32,System.Int32)" /> method.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellStyle(System.Int32,System.String,C1.Win.C1FlexGrid.CellStyle)">
      <summary>
            Assigns a custom <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> to a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <param name="newStyle">The <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> to associate with the cell.</param>
      <remarks>
        <para>The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellStyle(System.Int32,System.String,C1.Win.C1FlexGrid.CellStyle)" /> method is useful if you want to assign a new style 
            to a single cell. You can also reset the cell style by setting it to null (Nothing, in VB).</para>
        <para>To apply a custom cell style to an entire row or column, set the row or column's 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.Style" /> properties.</para>
        <para>To apply a custom style to a range cells, use a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object. 
            For example:</para>
        <code>
            CellRange rg = _flex.GetCellRange(3, 3, 10, 10);
            rg.Style = _flex.Styles["MyRangeStyle"];
            </code>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellStyle(System.Int32,System.Int32,C1.Win.C1FlexGrid.CellStyle)">
      <summary>
            Assigns a custom <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> to a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index</param>
      <param name="newStyle">The <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> to associate with the cell.</param>
      <remarks>
        <para>The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellStyle(System.Int32,System.String,C1.Win.C1FlexGrid.CellStyle)" /> method is useful if you want to assign a new style 
            to a single cell. You can also reset the cell style by setting it to null (Nothing, in VB).</para>
        <para>To apply a custom cell style to an entire row or column, set the row or column's 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.Style" /> properties.</para>
        <para>To apply a custom style to a range cells, use a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object. 
            For example:</para>
        <code>
            CellRange rg = _flex.GetCellRange(3, 3, 10, 10);
            rg.Style = _flex.Styles["MyRangeStyle"];
            </code>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellStyle(System.Int32,System.Int32,System.String)">
      <summary>
            Assigns a custom <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> to a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index</param>
      <param name="styleName">Name of the new style.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellStyleDisplay(System.Int32,System.Int32)">
      <summary>
            Gets the style used to render a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index</param>
      <returns>
        <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object used to display the cell.</returns>
      <remarks>
            The <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object returned may be a composite with elements from several 
            styles. For example, a cell with the focus is painted with a style that contains elements 
            from the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Focus" />, a custom style associated with the cell, 
            row, and column (if available), and the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Normal" /> style.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellImage(System.Int32,System.String)">
      <summary>
            Gets the image displayed in a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <returns>An <see cref="T:System.Drawing.Image" /> object previously assigned to the cell using the
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)" /> method.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellImage(System.Int32,System.Int32)">
      <summary>
            Gets the image displayed in a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>An <see cref="T:System.Drawing.Image" /> object previously assigned to the cell using the
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)" /> method.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)">
      <summary>
            Sets the image displayed in a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <param name="newImage">An <see cref="T:System.Drawing.Image" /> object containing an image to display in the cell.</param>
      <remarks>
        <para>In addition to the usual cell contents, you can display images in cells.
            There are two methods for showing images in cells:</para>
        <para>1. You can use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellImage(System.Int32,System.String)" /> methods to 
            assign images directly to the cells. In this case, the cell contents and the image are 
            independent. To update the image, you need to call <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)" /> again.</para>
        <para>2. You can use the <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageMap" /> property to associate images with 
            specific cell values. In this case, images are updated automatically whenever the cell 
            contents change. The <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageAndText" /> property allows you to specify whether 
            the control should display the images in addition to or instead of the cell text.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.Int32,System.Drawing.Image)">
      <summary>
            Sets the image displayed in a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="newImage">An <see cref="T:System.Drawing.Image" /> object containing an image to display in the cell.</param>
      <remarks>
        <para>In addition to the usual cell contents, you can display images in cells.
            There are two methods for showing images in cells:</para>
        <para>1. You can use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellImage(System.Int32,System.String)" /> methods to 
            assign images directly to the cells. In this case, the cell contents and the image are 
            independent. To update the image, you need to call <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)" /> again.</para>
        <para>2. You can use the <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageMap" /> property to associate images with 
            specific cell values. In this case, images are updated automatically whenever the cell 
            contents change. The <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageAndText" /> property allows you to specify whether 
            the control should display the images in addition to or instead of the cell text.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowResizing">
      <summary>
            Gets or sets whether the user is allowed to resize rows and columns with the mouse.
            </summary>
      <remarks>
        <para>To resize rows or columns, the mouse must be over the fixed area of the grid, and 
            close to a border between rows or columns. The mouse pointer will change into a sizing 
            pointer and the user can drag the row or column to change the row height or column width.</para>
        <para>If a group of columns is selected (from first to last row) and the user resizes one 
            of them, all selected columns are resized. The same applies to rows.</para>
        <para>If column sizing is allowed, users may double-click the resizing area to resize a 
            column so it will automatically fit the longest entry.</para>
        <para>Rows with zero height and columns with zero width can't be resized by the user. 
            If you want to make them very small but still resizable, set their height or width to 
            one pixel, not to zero.</para>
        <para>The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeRow" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeColumn" /> events fire 
            before resizing starts, and may be used to prevent resizing of specific rows and columns. 
            The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeRow" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeColumn" /> events fire after 
            resizing, and may be used to validate the user's action and to update the display.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFreezing">
      <summary>
            Gets or sets whether the user is allowed to freeze rows and columns with the mouse.
            </summary>
      <remarks>
        <para>Frozen cells remain on the screen when the user scrolls the control 
            (like fixed cells), but they are selectable and editable (like scrollable cells). 
            They are painted using the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Frozen" /> style.</para>
        <para>To freeze rows or columns at runtime, the mouse must be near the edge of the 
            frozen area. The mouse pointer will then change into a 'freeze' pointer (looks like 
            a padlock) and the user can drag the frozen boundary to a new row or column.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowDragging">
      <summary>
            Gets or sets whether the user is allowed to drag rows and columns with the mouse.
            </summary>
      <remarks>
        <para>Row dragging may not work in bound mode. This is because some data sources
            do not allow absolute positioning of rows.</para>
        <para>ADO.NET DataTable object in particular do not support this.</para>
        <para>Column dragging is supported for any data source, and row dragging is always
            supported in unbound mode.</para>
        <para>You can prevent specific rows and columns from being dragged by setting 
            their <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowDragging" /> property to false.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.HighLight">
      <summary>
            Gets or sets when to highlight selected cells.
            </summary>
      <remarks>
            You can customize the appearance of highlighted cells by modifying the 
            <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Highlight" /> property.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.FocusRect">
      <summary>
            Gets or sets the type of focus rectangle to display.
            </summary>
      <remarks>
        <para>If the focus rectangle is drawn, then the current cell is painted using 
            the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Focus" /> style, which by default looks like a regular 
            scrollable cell (as in most spreadsheets and grids).</para>
        <para>If the focus rectangle is hidden (using the <see cref="F:C1.Win.C1FlexGrid.FocusRectEnum.None" /> setting), 
            the current cell is painted using the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Highlight" /> style.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing">
      <summary>
            Gets or sets whether the user is allowed to edit grid contents.
            </summary>
      <remarks>
        <para>If you set <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> to false, editing is disabled for the 
            entire grid.</para>
        <para>To enable editing on some rows and columns, set <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> to true 
            for the grid and set the <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowEditing" /> or <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowEditing" /> 
            properties to false for the rows and columns that should not be editable.</para>
        <para>You can also disable editing of specific cells by handling the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" />
            event and setting the Cancel event parameter to true.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowButtons">
      <summary>
            Gets or sets when to display combo buttons in cells.
            </summary>
      <remarks>
        <para>By default, the grid will show editing buttons in cells only when they
            have the focus. This is the same behavior used by the <see cref="T:System.Windows.Forms.PropertyGrid" />
            control.</para>
        <para>If you set <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowButtons" /> to <see cref="F:C1.Win.C1FlexGrid.ShowButtonsEnum.Always" />,
            the grid will display buttons on any cells that have associated lists, even if they
            don't have the focus.</para>
        <para>For details on how to associate lists with cells, see the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" />,
            <see cref="P:C1.Win.C1FlexGrid.RowCol.ComboList" />, and <see cref="P:C1.Win.C1FlexGrid.RowCol.DataMap" /> properties.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCursor">
      <summary>
            Gets or sets whether the grid displays a record selector image on the first fixed column.
            </summary>
      <remarks>
        <remarks>
            The record selector is a small triangle similar to the one used in Access and most data grids.
            </remarks>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowSort">
      <summary>
            Gets or sets whether the grid should display sorting glyphs (a triangle) on the headers of sorted columns.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowSortPosition">
      <summary>
            Gets or sets a value that determines the position of the sort glyphs within column header cells.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowErrors">
      <summary>
            Gets or sets whether the grid should display error information in cells and rows.
            </summary>
      <remarks>
        <para>Setting this property to true causes the grid to display error information in cells and 
            rows. Error information is displayed as error icons in the cells or row headers. Moving the 
            mouse over the error icons show tooltips containing an error description.</para>
        <para>The error information may be supplied directly by data sources that implement the 
            <see cref="T:System.ComponentModel.IDataErrorInfo" /> interface (for example, the DataTable class implements this 
            interface).</para>
        <para>If the grid is bound to a data source that doesn't support <see cref="T:System.ComponentModel.IDataErrorInfo" />,
            you can provide error information using the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellErrorInfo" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetRowErrorInfo" /> 
            events.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCellLabels">
      <summary>
            Gets or sets whether the grid should display labels over cells whose contents are partially hidden.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowSorting">
      <summary>
            Gets or sets whether the user is allowed to sort columns using the mouse.
            </summary>
      <remarks>
        <para>When the grid is used in bound mode, the sorting is performed by the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> object. If the data source object does not support sorting, 
            this property has no effect.</para>
        <para>In unbound mode, you can also sort data using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ExtendLastCol">
      <summary>
            Gets or sets whether the last column should be extended to fill the control.
            </summary>
      <remarks>
            This property only affects painting. It does not modify the <see cref="P:C1.Win.C1FlexGrid.Column.Width" /> 
            property of the last column.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row">
      <summary>
            Gets or sets the row that contains the cursor.
            </summary>
      <remarks>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties to make a cell current or to find 
            out which row or column contains the current cell. Columns and rows are 
            numbered from zero, beginning at the top for rows and at the left for columns.</para>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> property may be set to -1 to hide the selection, to a value
            between zero and Rows.Fixed-1 to select a cell in a fixed row, or to a value between 
            Rows.Fixed and Rows.Count-1 to select a cell in a scrollable row.</para>
        <para>Setting the Row and Col properties automatically collapses the selection to a 
            single cell, resetting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties. 
            To specify a block selection, you must set Row and Col, then RowSel and ColSel. Alternatively,
            you can use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method to select an arbitrary range with a single statement.</para>
        <para>Setting the Row and Col properties does not ensure that the current cell is visible.
            To do that, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCell(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col">
      <summary>
            Gets or sets the column that contains the cursor.
            </summary>
      <remarks>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties to make a cell current or to find 
            out which row or column contains the current cell. Columns and rows are 
            numbered from zero, beginning at the top for rows and at the left for columns.</para>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> property may be set to -1 to hide the selection, to a value
            between zero and Cols.Fixed-1 to select a cell in a fixed column, or to a value between 
            Cols.Fixed and Cols.Count-1 to select a cell in a scrollable column.</para>
        <para>Setting the Row and Col properties automatically collapses the selection to a 
            single cell, resetting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties. 
            To specify a block selection, you must set Row and Col, then RowSel and ColSel. Alternatively,
            you can use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method to select an arbitrary range with a single statement.</para>
        <para>Setting the Row and Col properties does not ensure that the current cell is visible.
            To do that, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCell(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel">
      <summary>
            Gets or sets the last row in the current selection.
            </summary>
      <remarks>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties to modify a 
            selection or to determine which cells are currently selected. Columns and rows are 
            numbered from zero, beginning at the top for rows and at the left for columns.</para>
        <para>Setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties automatically 
            collapses the selection to a single cell, resetting the RowSel and ColSel properties. 
            Therefore, to specify a block selection, you must Row and Col, then RowSel and ColSel. 
            Alternatively, you may use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method to select a range with a 
            single statement.</para>
        <para>If the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.SelectionMode" /> property is set to <see cref="F:C1.Win.C1FlexGrid.SelectionModeEnum.ListBox" />,
            you should use the <see cref="P:C1.Win.C1FlexGrid.RowCol.Selected" /> property on individual row objects to 
            select and deselect rows.</para>
        <para>When a range is selected, the value of <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> may be greater than or 
            less than <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> may be greater than or less than <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" />.
            This is inconvenient when you need to set up bounds for loops. In these cases, you can 
            use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Selection" /> property to retrieve a normalized <see cref="T:C1.Win.C1FlexGrid.CellRange" /> 
            object, where r1 &lt;= r2 and c1 &lt;= c2.</para>
        <para>See the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> property for an example.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel">
      <summary>
            Gets or sets the last column in the current selection.
            </summary>
      <remarks>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties to modify a 
            selection or to determine which cells are currently selected. Columns and rows are 
            numbered from zero, beginning at the top for rows and at the left for columns.</para>
        <para>Setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties automatically 
            collapses the selection to a single cell, resetting the RowSel and ColSel properties. 
            Therefore, to specify a block selection, you must Row and Col, then RowSel and ColSel. 
            Alternatively, you may use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method to select a range with a 
            single statement.</para>
        <para>When a range is selected, the value of <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> may be greater than or 
            less than <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> may be greater than or less than <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" />.
            This is inconvenient when you need to set up bounds for loops. In these cases, you can 
            use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Selection" /> property to retrieve a normalized <see cref="T:C1.Win.C1FlexGrid.CellRange" /> 
            object, where r1 &lt;= r2 and c1 &lt;= c2.</para>
      </remarks>
      <example>
            The code below loops though the cells in the current selection:
            <code>
            CellRange rg = flex.Selection;
            for (int r = rg.r1; r &lt;= rg.r2; r++)
              for (int c = rg.c1; c &lt;= rg.c2; c++)
                Console.WriteLine("the value at {0} {1} is {2}", r, c, flex[r, c]);
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Rows">
      <summary>
            Gets the collection of <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> objects in the grid.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Rows" /> property returns a reference to the list of rows 
            that make up the grid. With this reference, you can add, remove, move, 
            and count the rows. For more information on the tasks that can be performed 
            with this collection, see the <see cref="T:C1.Win.C1FlexGrid.RowCollection" /> object.</para>
        <para>This property is read-only. The grid creates and manages the row collection for you.</para>
        <para>Upgrade Note: In the VSFlexGrid ActiveX control, the Rows and FixedRows properties 
            corresponded to the number of rows and fixed rows on the grid. In C1FlexGrid, use Rows.Count 
            and Rows.Fixed.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Cols">
      <summary>
            Gets the collection of <see cref="T:C1.Win.C1FlexGrid.Column" /> objects in the grid.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Cols" /> property returns a reference to the list of columns
            that make up the grid. With this reference, you can add, remove, move, 
            and count the columns. For more information on the tasks that can be performed 
            with this collection, see the <see cref="T:C1.Win.C1FlexGrid.ColumnCollection" /> object.</para>
        <para>This property is read-only. The grid creates and manages the column collection for you.</para>
        <para>Upgrade Note: In the VSFlexGrid ActiveX control, the <b>Cols</b> and <b>FixedCols</b> properties 
            corresponded to the number of columns and fixed columns on the grid. In C1FlexGrid, use 
            <b>Cols.Count</b> and <b>Cols.Fixed</b> instead.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol">
      <summary>
            Gets or sets the first visible column in the scrollable area.
            </summary>
      <remarks>
        <para>Setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> property causes the grid to scroll horizontally 
            so that the given column becomes the leftmost visible column. This is often useful when 
            you want to synchronize two or more grids so that when one of them scrolls, the other 
            scrolls as well. To scroll vertically, use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> property.</para>
        <para>When setting this property, the largest possible column number is the total 
            number of columns minus the number of columns that will fit the display. Attempting 
            to set <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> to a greater value will cause the grid to set it to the 
            largest possible value (no error will occur).</para>
        <para>The value returned by the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> properties 
            may correspond to partially visible rows or columns.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> properties to scroll using 
            cells as units. Use the <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition" /> property to scroll the grid using 
            pixel units.</para>
        <para>To ensure that a given cell is visible, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCell(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow">
      <summary>
            Gets or sets the first visible row in the scrollable area.
            </summary>
      <remarks>
        <para>Setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> property causes the grid to scroll vertically
            so that the given row becomes the topmost visible row. This is often useful when 
            you want to synchronize two or more grids so that when one of them scrolls, the other 
            scrolls as well. To scroll horizontally, use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> property.</para>
        <para>When setting this property, the largest possible row number is the total 
            number of rows minus the number of rows that will fit the display. Attempting 
            to set <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> to a greater value will cause the grid to set it to the 
            largest possible value (no error will occur).</para>
        <para>The value returned by the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> properties 
            may correspond to partially visible rows or columns.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> properties to scroll using 
            cells as units. Use the <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition" /> property to scroll the grid using 
            pixel units.</para>
        <para>To ensure that a given cell is visible, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCell(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.RightCol">
      <summary>
            Gets the last visible column in the scrollable area.
            </summary>
      <remarks>
        <para>The index returned may correspond to a column that is only partially visible.</para>
        <para>This property is read-only. To scroll the contents of the grid, see the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" />, and <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition" /> properties.</para>
        <para>To ensure that a cell is visible, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCell(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.BottomRow">
      <summary>
            Gets the last visible row in the scrollable area.
            </summary>
      <remarks>
        <para>The index returned may correspond to a row that is only partially visible.</para>
        <para>This property is read-only. To scroll the contents of the grid, see the
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" />, and <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition" /> properties.</para>
        <para>To ensure that a cell is visible, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCell(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetData(System.Int32,System.Int32,System.Object,System.Boolean)">
      <summary>
            Assigns a value to a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="value">Value to assign to the cell.</param>
      <param name="coerce">Whether the value should be converted to the column's data type.</param>
      <returns>True if the value was assigned to the cell.</returns>
      <remarks>
        <para>If <paramref name="coerce" /> is set to true and the value can't be converted into 
            the proper data type, the grid will fire the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridError" /> event and the 
            cell will retain its original value.</para>
        <para>Using <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetData(System.Int32,System.Int32,System.Object,System.Boolean)" /> with <paramref name="coerce" /> set to true is equivalent 
            to setting the grid's indexer. For example, the following lines of code are equivalent:</para>
        <code>
            flex.SetData(1, 1, "Hello", true);
            flex[1, 1] = "Hello"; // same thing
            </code>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetData(C1.Win.C1FlexGrid.CellRange,System.Object,System.Boolean)">
      <summary>
            Assigns a value to a range of cells.
            </summary>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> that specifies the cells that will be assigned a new value.</param>
      <param name="value">Value that will be assigned to all cells in the range.</param>
      <param name="coerce">Whether the value should be converted to the column's data type.</param>
      <returns>True if the value was assigned to all cells in the destination range.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetData(System.Int32,System.Int32,System.Object)">
      <summary>
            Assigns a value to a grid cell, coercing the value into the cell's specified DataType.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="value">Value to assign to the cell.</param>
      <returns>True if the value was assigned to the cell, false if the value could not be
            assigned (usually because it could not be converted to the appropriate type).</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetData(C1.Win.C1FlexGrid.CellRange,System.Object)">
      <summary>
            Assigns a value to a range of cells, coercing the value into each cell's specified DataType.
            </summary>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> that specifies the cells that will be assigned a new value.</param>
      <param name="value">Value that will be assigned to all cells in the range.</param>
      <returns>True if the value was assigned to all cells in the destination range, false if 
            the value could not be assigned to all cells in the range (usually because it could not be 
            converted to the appropriate type).</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetData(System.Int32,System.String,System.Object,System.Boolean)">
      <summary>
            Assigns a value to a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <param name="value">Value to assign to the cell.</param>
      <param name="coerce">Whether the value should be converted to the column's data type.</param>
      <returns>True if the value was assigned to the cell, False otherwise.</returns>
      <remarks>
        <para>If <paramref name="coerce" /> is set to true and the value can't be converted into 
            the proper data type, the grid will fire the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridError" /> event and the 
            cell will retain its original value.</para>
        <para>Using <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetData(System.Int32,System.Int32,System.Object,System.Boolean)" /> with <paramref name="coerce" /> set to true is equivalent 
            to setting the grid's indexer. For example, the following lines of code are equivalent:</para>
        <code>
            flex.SetData(1, "ColName", "Hello", true);
            flex[1, "ColName"] = "Hello"; // same thing
            </code>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetData(System.Int32,System.String,System.Object)">
      <summary>
            Assigns a value to a grid cell, coercing the value into the cell's specified data type.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <param name="value">Value to assign to the cell.</param>
      <returns>True if the value was assigned to the cell, False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetDataEdit(System.Int32,System.Int32,System.Object,System.Boolean)">
      <summary>
            Assigns a value to a grid cell, optionally coercing the value into the cell's specified data type.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="data">Data to be applied to the cell.</param>
      <param name="coerce">Whether to coerce the value into the cell's specified data type.</param>
      <returns>True if the value was assigned to the cell, False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetData(System.Int32,System.Int32)">
      <summary>
            Gets the value of a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>The value of the cell.</returns>
      <remarks>
        <para>The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetData(System.Int32,System.Int32)" /> method returns the raw data stored in a specific grid cell. 
            It is equivalent to using the grid's indexer. For example:</para>
        <code>
            object foo = flex.GetData(1, 1);
            object bar = flex[1, 1]; // same thing
            </code>
        <para>The data displayed on the grid might be different from the raw data, depending on 
            the setting of the <see cref="P:C1.Win.C1FlexGrid.RowCol.Format" /> and <see cref="P:C1.Win.C1FlexGrid.RowCol.DataMap" /> properties. 
            To obtain the display value (which is always a string), use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetDataDisplay(System.Int32,System.Int32)" /> 
            method instead.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetData(System.Int32,System.Int32,System.Boolean)">
      <summary>
            Gets the value of a grid cell, taking into account the value returned by the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellCheck(System.Int32,System.Int32)" /> method.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="getCheck">Whether to take into account the value of the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellCheck(System.Int32,System.Int32)" /> method.</param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetData(System.Int32,System.String)">
      <summary>
            Gets the value of a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <returns>The value of the cell.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetUserData(System.Int32,System.Int32)">
      <summary>
            Gets user data associated with a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>Object associated with the cell.</returns>
      <remarks>
            The user data is not used internally by the grid. It is reserved for additional data that you may want to 
            associate with a cell.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetUserData(System.Int32,System.String)">
      <summary>
            Gets user data associated with a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <returns>Object associated with the cell.</returns>
      <remarks>
            The user data is not used internally by the grid. It is reserved for additional data that you may want to 
            associate with a cell.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetUserData(System.Int32,System.Int32,System.Object)">
      <summary>
            Assigns user data to a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="data">User data to assign to the cell.</param>
      <remarks>
            The user data is not used internally by the grid. It is reserved for 
            additional data that you may want to associate with a cell.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetUserData(System.Int32,System.String,System.Object)">
      <summary>
            Assigns user data to a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <param name="data">User data to assign to the cell.</param>
      <remarks>
            The user data is not used internally by the grid. It is reserved for additional data that you may want to 
            associate with a cell.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetDataDisplay(System.Int32,System.Int32)">
      <summary>
            Gets the value in a grid cell, formatted as a string.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>A string containing the data displayed in the given grid cell.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetDataDisplay(System.Int32,System.String)">
      <summary>
            Gets the value in a grid cell, formatted as a string.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <returns>A string containing the data displayed in the given grid cell.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetDataDisplay(System.Int32,System.Int32,System.Drawing.Image@,C1.Win.C1FlexGrid.CheckEnum@)">
      <summary>
            Gets the value in a grid cell, formatted as a string, and the image or checkbox in the cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="img">Returns the image in the cell.</param>
      <param name="chk">Returns the checkbox value in the cell.</param>
      <returns>A string containing the data displayed in the given grid cell.</returns>
      <remarks>
        <para>This method provides a way to retrieve all the data that is displayed in a cell with a single call.</para>
        <para>The image returned in the <paramref name="img" /> parameter may be an image assigned to the
            cell using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)" /> method, a mapped value obtained through an <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageMap" />,
            or an image stored as cell data (when the cell's <see cref="P:C1.Win.C1FlexGrid.RowCol.DataType" /> is set to Image).</para>
        <para>The <see cref="T:C1.Win.C1FlexGrid.CheckEnum" /> value returned in the <paramref name="chk" /> parameter is the value
            returned by the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellCheck(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetDataDisplay(System.Int32,System.String,System.Drawing.Image@,C1.Win.C1FlexGrid.CheckEnum@)">
      <summary>
            Gets the value in a grid cell, formatted as a string, and the image or checkbox in the cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="colName">Column name.</param>
      <param name="img">Returns the image in the cell.</param>
      <param name="chk">Returns the checkbox value in the cell.</param>
      <returns>A string containing the data displayed in the given grid cell.</returns>
      <remarks>
        <para>This method provides a way to retrieve all the data that is displayed in a cell with a single call.</para>
        <para>The image returned in the <paramref name="img" /> parameter may be an image assigned to the
            cell using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellImage(System.Int32,System.String,System.Drawing.Image)" /> method, a mapped value obtained through an <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageMap" />,
            or an image stored as cell data (when the cell's <see cref="P:C1.Win.C1FlexGrid.RowCol.DataType" /> is set to Image).</para>
        <para>The <see cref="T:C1.Win.C1FlexGrid.CheckEnum" /> value returned in the <paramref name="chk" /> parameter is the value
            returned by the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellCheck(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.SelectionMode">
      <summary>
            Gets or sets the grid's selection behavior.
            </summary>
      <remarks>
        <para>In most selection modes, you can obtain the current selection using the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Selection" /> property.</para>
        <para>When <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.SelectionMode" /> is set to <see cref="F:C1.Win.C1FlexGrid.SelectionModeEnum.ListBox" />, 
            however, the selection may consist of a non-continuous range of rows. In this case,
            you can check the selection state of individual rows using the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Highlight" /> 
            property or obtain a collection of selected rows using the <see cref="P:C1.Win.C1FlexGrid.RowCollection.Selected" /> property.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)">
      <summary>
            Selects a range of cells.
            </summary>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> that specifies the cells that will be selected.</param>
      <param name="show">Whether to scroll the new selection into view.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Selects a range of cells and scrolls it into view.
            </summary>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> that specifies the cells that will be selected.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
      <summary>
            Selects a range of cells.
            </summary>
      <param name="row">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> property.</param>
      <param name="col">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> property.</param>
      <param name="rowSel">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> property.</param>
      <param name="colSel">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> property.</param>
      <param name="show">Whether to scroll the new selection into view.</param>
      <remarks>
            Using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method is equivalent to setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>
            Selects a range of cells and scrolls it into view.
            </summary>
      <param name="row">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> property.</param>
      <param name="col">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> property.</param>
      <param name="rowSel">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" /> property.</param>
      <param name="colSel">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> property.</param>
      <remarks>
            Using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method is equivalent to setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(System.Int32,System.Int32,System.Boolean)">
      <summary>
            Selects a cell.
            </summary>
      <param name="row">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> property.</param>
      <param name="col">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> property.</param>
      <param name="show">Whether to scroll the new selection into view.</param>
      <remarks>
            Using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method is equivalent to setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(System.Int32,System.Int32)">
      <summary>
            Selects a cell and scrolls it into view.
            </summary>
      <param name="row">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> property.</param>
      <param name="col">New value for the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> property.</param>
      <remarks>
            Using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method is equivalent to setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" /> properties.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)">
      <summary>
            Sorts the grid contents based on a column.
            </summary>
      <param name="order">
        <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> value that specifies the sort direction and options.</param>
      <param name="col">Column to sort on.</param>
      <remarks>
        <para>Sorting works differently depending on whether the grid is bound to a data source or not.</para>
        <para>In bound mode, the grid passes the sort request to the underlying data source object. In this case, 
            the sort settings remain in effect as the grid data changes. Editing values in the sort column will cause 
            the data source to re-sort the data, and grid will show the changes automatically. This is equivalent to
            setting the <see cref="P:System.Data.DataView.Sort" /> property on a <see cref="T:System.Data.DataView" /> object for example.</para>
        <para>In unbound mode, the <b>Sort</b> method sorts the data that is currently stored in the grid. Changing
            the data after it has been sorted will not automatically update the sort.</para>
        <para>When the grid is bound to a new data source, it inherits the sort settings currently applied to the
            new data source object. Because of this, calling <b>Sort</b> immediately before setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" />
            property has no effect on the grid.</para>
        <para>In unbound mode, the grid uses a stable sorting algorithm. This means that the sorting keeps the 
            relative order of records when the sorting key is the same. For example, if you sort a list of files by 
            name, then by extension, the list will still be sorted by name within each extension group.</para>
        <para>The grid recognizes two types of row: regular rows which contain data, and node rows which are used
            to group data. The <b>Sort</b> method only sorts regular rows; it does not affect node rows at all.
            To sort nodes, use the <see cref="M:C1.Win.C1FlexGrid.GridTree.Sort(System.Int32,C1.Win.C1FlexGrid.SortFlags,System.Int32,System.Int32)" /> method in the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Tree" /> property or the
            <see cref="M:C1.Win.C1FlexGrid.Node.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32,System.Int32)" /> method in the <see cref="T:C1.Win.C1FlexGrid.Node" /> class.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32,System.Int32)">
      <summary>
            Sorts the grid contents based on a column range.
            </summary>
      <param name="order">
        <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> value that specifies the sort direction and options.</param>
      <param name="col1">First column in the range.</param>
      <param name="col2">Last column in the range.</param>
      <remarks>
        <para>When you sort multiple columns, the same sorting options are applied to each column, 
            starting from the leftmost column in the range and proceeding to the right.</para>
        <para>To sort multiple columns using a different sorting order for each, you can either 
            call the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method multiple times or set each column's <see cref="P:C1.Win.C1FlexGrid.Column.Sort" /> 
            property and call the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method including the <see cref="F:C1.Win.C1FlexGrid.SortFlags.UseColSort" /> 
            flag in the <paramref name="order" /> parameter.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Sorts a range of cells in the grid.
            </summary>
      <param name="order">
        <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> value that specifies the sort direction and options.</param>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that specifies the range of cells to sort.</param>
      <remarks>
        <para>When you sort multiple columns, the same sorting options are applied to each column, 
            starting from the leftmost column in the range and proceeding to the right.</para>
        <para>To sort multiple columns using a different sorting order for each, you can either 
            call the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method multiple times or set each column's <see cref="P:C1.Win.C1FlexGrid.Column.Sort" /> 
            property and call the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method including the <see cref="F:C1.Win.C1FlexGrid.SortFlags.UseColSort" /> 
            flag in the flags parameter.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(System.Int32,System.Int32,System.Collections.IComparer)">
      <summary>
            Sorts a group of rows using the specified comparer.
            </summary>
      <param name="rowStart">First row in the sort range.</param>
      <param name="rowCount">Number of rows in the sort range.</param>
      <param name="comparer">An <see cref="T:System.Collections.IComparer" /> object that compares <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> objects.</param>
      <remarks>
        <para>The <see cref="T:System.Collections.IComparer" /> interface has a single method called <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)" /> that 
            takes two objects as arguments (in this case, they will be <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> objects) and 
            returns -1, 0, or +1. For more details, see the documentation for <see cref="T:System.Collections.IComparer" />.</para>
        <para>Custom sorting can only be used when the grid is in unbound mode.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(System.Collections.IComparer)">
      <summary>
            Sorts the grid using the specified comparer.
            </summary>
      <param name="comparer">An <see cref="T:System.Collections.IComparer" /> object that compares <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> objects.</param>
      <remarks>
        <para>The <see cref="T:System.Collections.IComparer" /> interface has a single method called <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)" /> that 
            takes two objects as arguments (in this case, they will be <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> objects) and 
            returns -1, 0, or +1. For more details, see the documentation for <see cref="T:System.Collections.IComparer" />.</para>
        <para>Custom sorting can only be used when the grid is in unbound mode.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShowSortAt(C1.Win.C1FlexGrid.SortFlags,System.Int32)">
      <summary>
            Shows the sorting glyph on a column header.
            </summary>
      <param name="order">
        <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> value that specifies the glyph to display.</param>
      <param name="col">Column index.</param>
      <remarks>
            This method is useful if you want to perform custom sorting and need control over the appearance 
            and position of the sorting glyph (the little triangle that appears on the header of sorted columns).
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Selection">
      <summary>
            Gets the selected range in normalized form.
            </summary>
      <remarks>
            The range returned corresponds to the current selection, defined by the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />,
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RowSel" />, and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ColSel" /> properties. 
            The range is normalized, so range.r1 &lt;= range.r2 and range.c1 &lt;= range.c2. This makes 
            it easy to loop through the selection. For example:
            <code>
            int total = 0;
            CellRange rg = flex.Selection;
            for (int r = rg.r1; r &lt;= rg.r2; r++)
              for (int c = rg.c1; c &lt;= rg.c2; c++)
                total += (int)flex[r,c];
            Console.WriteLine("The total is: {0}", total);
            </code></remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.CursorCell">
      <summary>
            Gets a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that contains the cell at coordinates <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" />, <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Col" />.
            </summary>
      <remarks>
            To get a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that spans the entire selection, use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Selection" /> property.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShowCell(System.Int32,System.Int32)">
      <summary>
            Scrolls a cell into view.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <remarks>
            This method does not affect the current selection. To move the cursor to a specific cell 
            and optionally bring it into view, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Select(C1.Win.C1FlexGrid.CellRange,System.Boolean)" /> method.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Invalidate">
      <summary>
            Invalidates the control.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Invalidate(System.Int32,System.Int32)">
      <summary>
            Invalidates a cell, causing it to be repainted.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <remarks>
            This method is rarely used by the programmer, since the grid automatically performs invalidation as needed.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Invalidate(System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>
            Invalidates a cell range, causing it to be repainted.
            </summary>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Invalidate(C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Invalidates a cell range, causing it to be repainted.
            </summary>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> that will be invalidated.</param>
      <remarks>
            This method is rarely used by the programmer, since the grid automatically 
            performs invalidation as needed.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Styles">
      <summary>
            Gets the collection of cell styles defined in the grid.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Styles" /> property enables you to obtain a reference to the list of 
            styles that are currently defined in the grid. With this reference, you can add, remove, 
            and count the styles. For more information on the tasks that can be performed with this 
            collection, see the <see cref="T:C1.Win.C1FlexGrid.CellStyleCollection" /> class reference topics. For information 
            on cell formatting, see the <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> reference topics.</para>
        <para>This property is read-only. The grid creates and manages the collection for you.</para>
        <para>Upgrade Note: The VSFlexGrid ActiveX control had many properties that affected the way 
            the grid was displayed (e.g. BackColor, BackColorAlternate, BackColorBkg, BackColorFixed, 
            BackColorFrozen, BackColorSel, and so on). The C1FlexGrid control replaces all these 
            properties with a collection of <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> objects. This makes the object 
            model simpler, more consistent, and more powerful. You can change the built-in styles or 
            define your own, and assign them to rows, columns, or arbitrary cell ranges.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch">
      <summary>
            Gets or sets whether the grid should move the cursor searching for entries as the user types.
            </summary>
      <remarks>
        <para>If <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch" /> is on, the grid will search the current column as the user 
            types, automatically moving the cursor and highlighting matches using the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Search" /> style. 
            The search is case-insensitive. The search is canceled when the user presses the ESC key or 
            moves the selection with the mouse or cursor keys.</para>
        <para>When the user stops typing for about a second, the search buffer is reset. This amount of 
            time can be changed by setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearchDelay" /> property.</para>
        <para>If <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch" /> is on and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> is set to true, the user 
            will need to hit ENTER, or F2 to start editing cells. Other keys are used for searching.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearchDelay">
      <summary>
            Gets or sets the delay (in seconds) before the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch" /> buffer is reset.
            </summary>
      <remarks>
            See the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch" /> property for details.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.KeyActionEnter">
      <summary>
            Gets or sets the action to be performed when the user presses the ENTER key.
            </summary>
      <remarks>
        <para>By default, the grid will move the selection down to the next visible row when the 
            user presses the ENTER key. If the grid is editable, pressing ENTER will cause the grid 
            to enter edit mode, and pressing ENTER while in edit mode will cause the cursor to move down.</para>
        <para>This property allows you to modify this behavior and disable cell navigation with the
            ENTER key, or cause it to move the selection to the next column instead of row.</para>
        <para>Note that the <see cref="F:C1.Win.C1FlexGrid.KeyActionEnum.MoveAcrossOut" /> and as <see cref="F:C1.Win.C1FlexGrid.KeyActionEnum.MoveAcross" />
            settings have the same effect when applied to this property. Pressing the ENTER key will
            move the selection within the grid, but will not move the focus to the next control on the form.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.KeyActionTab">
      <summary>
            Gets or sets the action to be performed when the user presses the TAB key.
            </summary>
      <remarks>
            By default, the grid will ignore the TAB key and it will be handled by the form, moving the focus to 
            the next control in the tab order. If you set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.KeyActionTab" /> property to a value 
            other than <see cref="F:C1.Win.C1FlexGrid.KeyActionEnum.None" />, the grid will trap the TAB key and use it for navigating cells.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonImage">
      <summary>
            Gets or sets the image to be used in cell buttons.
            </summary>
      <remarks>
        <para>This property allows you to customize the appearance of cell buttons. For details on how to 
            create and handle cell buttons, see the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonClick" /> event.</para>
        <para>If you want to use a single picture for all cell buttons on the grid, assign the picture to the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonImage" /> property at design time. To change pictures depending on the row, column, or cell 
            being edited, set the picture in response to the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" /> event.</para>
        <para>The pictures used for cell buttons should fit within the button (larger pictures are truncated). 
            They should also be transparent, so the button face can be seen through the empty parts of the picture.
            For best results, use small icons (16 x 16 pixels) and draw the picture in the upper left 12 x 12 
            rectangle within the icon.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseRow">
      <summary>
            Gets the index of the row under the cursor.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseRow" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseCol" /> properties are often useful when 
            handling the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown" /> event, to provide custom mouse handling. 
            They are also useful when handling mouse events that do not change the selection and for 
            detecting clicks on the fixed areas of the grid.</para>
        <para>Typical uses for these properties include displaying help information or tooltips when 
            the user moves the mouse over a selection, and the implementation of manual drag-and-drop 
            manipulation of OLE objects.</para>
        <para>
          <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseRow" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseCol" /> return -1 if the mouse is not over
            any rows or columns.</para>
        <para>To obtain more detailed hit-testing information, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.HitTest(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseCol">
      <summary>
            Gets the index of the column under the cursor.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseRow" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseCol" /> properties are often useful when 
            handling the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown" /> event, to provide custom mouse handling. 
            They are also useful when handling mouse events that do not change the selection and for 
            detecting clicks on the fixed areas of the grid.</para>
        <para>Typical uses for these properties include displaying help information or tooltips when 
            the user moves the mouse over a selection, and the implementation of manual drag-and-drop 
            manipulation of OLE objects.</para>
        <para>
          <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseRow" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.MouseCol" /> return -1 if the mouse is not over
            any rows or columns.</para>
        <para>To obtain more detailed hit-testing information, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.HitTest(System.Int32,System.Int32)" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.HitTest(System.Int32,System.Int32)">
      <summary>
            Returns information about the control at a specified point on the control surface.
            </summary>
      <param name="x">The horizontal position of the client coordinate.</param>
      <param name="y">The vertical position of the client coordinate.</param>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.HitTestInfo" /> object that contains information about the point.</returns>
      <remarks>
            This method is especially useful when handling the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown" /> event. 
            It allows you to determine whether the mouse is over a specific cell, grid buttons, 
            resizing elements, etc.
            </remarks>
      <example>
            The code below shows hit test information whenever the user clicks the mouse:
            <code>
            void _flex_BeforeMouseDown(object sender, BeforeMouseDownEventArgs e)
            {
              HitTestInfo hti = _flex.HitTest(e.X, e.Y);
              Console.WriteLine("at {0},{1}: row {2} col {3} type {4}",
                                 hti.X, hti.Y, hti.Row, hti.Column, hti.Type);
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.HitTest(System.Drawing.Point)">
      <summary>
            Returns information about the control at a specified point on the control surface.
            </summary>
      <param name="pt">
        <see cref="T:System.Drawing.Point" /> in client coordinates.</param>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.HitTestInfo" /> object that contains information about the point.</returns>
      <remarks>
            This method is especially useful when handling the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown" /> event. 
            It allows you to determine whether the mouse is over a specific cell, grid buttons, 
            resizing elements, etc.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.HitTest">
      <summary>
            Returns information about the control at the current mouse position.
            </summary>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.HitTestInfo" /> object that contains information about the point.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRect(System.Int32,System.Int32,System.Boolean)">
      <summary>
            Gets a <see cref="T:System.Drawing.Rectangle" /> object with the coordinates of the cell within the control.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="show">Whether to scroll the cell into view before calculating the rectangle.</param>
      <returns>A <see cref="T:System.Drawing.Rectangle" /> object with the coordinates of the cell, in pixels and 
            relative to the control's client area.</returns>
      <remarks>
            This property is useful if you need to implement custom editors or other elements that need 
            to be positioned over cells.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRect(System.Int32,System.Int32)">
      <summary>
            Gets a <see cref="T:System.Drawing.Rectangle" /> object with the coordinates of the cell within the control.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <remarks>
        <para>This property is useful if you need to implement custom editors or other elements that need 
            to be positioned over cells.</para>
        <para>This method does not ensure the cell is visible.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.FindRow(System.String,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Boolean)">
      <summary>
            Finds a row that contains a specified string.
            </summary>
      <param name="strFind">String to look for.</param>
      <param name="rowStart">Index of the row where the search should start.</param>
      <param name="col">Column that contains the data to be searched.</param>
      <param name="caseSensitive">Whether the search should be case-sensitive.</param>
      <param name="fullMatch">Whether a full match is required. If this parameter is set to false, searching for "John" may return a row that contains "Johnson".</param>
      <param name="wrap">Whether the search should stop at the bottom of the grid or wrap around and restart from the first scrollable row.</param>
      <returns>The index of the row that contains the string, or -1 if the string is not found.</returns>
      <remarks>
            To allow users to search for data as they type, use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch" /> property.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.FindRow(System.Object,System.Int32,System.Int32,System.Boolean)">
      <summary>
            Finds a row that contains a specified value in a given column.
            </summary>
      <param name="objFind">Object to look for.</param>
      <param name="rowStart">Index of the row where the search should start.</param>
      <param name="col">Column to be searched.</param>
      <param name="wrap">Whether the search should stop at the bottom of the grid or wrap around and restart from the first scrollable row.</param>
      <returns>The index of the row that contains the data, or -1 if the <paramref name="objFind" /> object is not found.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.FindRowRegex(System.String,System.Int32,System.Int32,System.Boolean)">
      <summary>
            Finds a row that contains a specified value in a given column using a <b>RegularExpression</b>.
            </summary>
      <param name="pattern">The regular expression pattern to match.</param>
      <param name="rowStart">Index of the row where the search should start.</param>
      <param name="col">Column that contains the data to be searched.</param>
      <param name="wrap">Whether the search should stop at the bottom of the grid or wrap around and restart from the first scrollable row.</param>
      <returns>The index of the row that matches the pattern, or -1 if no matches were found.</returns>
      <remarks>
            The <paramref name="pattern" /> parameter specifies a regular expression pattern 
            expressed in the usual <see cref="T:System.Text.RegularExpressions.Regex" /> syntax. 
            The regular expression syntax supports character classes, ranges, repeat counts, 
            alternate matches, and more. Please refer to the .NET documentation for details and examples.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Redraw">
      <summary>
            Gets or sets whether the grid should paint its contents.
            </summary>
      <remarks>
            This property is deprecated. Use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.BeginUpdate" /> and
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.EndUpdate" /> methods instead.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.BeginUpdate">
      <summary>
            Maintains performance by preventing the control from updating itself until
            the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.EndUpdate" /> method is called.
            </summary>
      <remarks>
            The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.BeginUpdate" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.EndUpdate" /> methods are used to 
            optimize the performance of the grid. Call <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.BeginUpdate" /> before making 
            extensive changes, and call <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.EndUpdate" /> when done to suspend repainting. 
            This will reduce flicker and increase performance. This optimization is especially 
            effective when adding large numbers of rows to the grid, because it needs to 
            recalculate ranges and update scrollbars each time a row is added.
            </remarks>
      <example>
            The code below shows how to add a large number of rows to the grid efficiently.
            Note how the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.EndUpdate" /> method is called inside a 'finally' block 
            to ensure repainting is properly restored.
            <code>
            void UpdateGrid(C1FlexGrid flex)
            {
              try
              {
                flex.BeginUpdate(); // suspend painting to avoid flicker
                flex.Rows.Count = 1;
                for (int i = 1; i &lt; 10000; i++)
                  flex.AddItem("Row " + i.ToString());
              }
              finally
              {
                flex.EndUpdate(); // always restore painting
              }
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.EndUpdate">
      <summary>
            Resumes updating the control after calls to the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.BeginUpdate" /> method.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.DrawMode">
      <summary>
            Gets or sets whether the control should fire the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event.
            </summary>
      <remarks>
        <para>If you set this property to <see cref="F:C1.Win.C1FlexGrid.DrawModeEnum.OwnerDraw" />, the grid will 
            fire the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event whenever a cell needs to be painted.
            You can handle the event and customize the way each cell is painted, either by changing 
            the cell contents and style, or by taking over the painting and doing it yourself.</para>
        <para>For more details and examples, see the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.DoubleBuffer">
      <summary>
            Gets or sets whether the control should use an off-screen buffer when painting to reduce flicker.
            </summary>
      <remarks>
        <para>This property is set to true by default, and rarely needs to be changed.</para>
        <para>Setting <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DoubleBuffer" /> to false may increase performance of applications
            running under terminal server software.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipSeparators">
      <summary>
            Gets or sets the characters used as row and column separators in clip strings.
            </summary>
      <remarks>For details and an example, see the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Clip" /> property.</remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Clip">
      <summary>
            Gets or sets the contents of the selected range.
            </summary>
      <remarks>
        <para>The string assigned to (or returned by) the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Clip" /> property may contain 
            multiple cells. By default, tab characters (\t) indicate column breaks, and carriage return 
            characters (\n) indicate row breaks.</para>
        <para>The default row and column delimiters may be changed using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipSeparators" /> property.</para>
        <para>When a string is assigned to the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Clip" /> property, only the selected 
            cells are affected. If there are more cells in the selected region than are described in the 
            clip string, the remaining cells are ignored. If there are more cells described in the clip 
            string than in the selected region, the extra portion of the clip string is ignored. Empty 
            entries in the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Clip" /> string will clear existing cell contents.</para>
        <para>To get or set a clip string for an arbitrary range, use a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object.</para>
        <para>The value returned is affected by the setting of the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipboardCopyMode" /> 
            property.</para>
      </remarks>
      <example>
            The code below puts text into a selected area two rows high and two columns wide.
            <code>
            // build clip string
            string s = "r1 c1\tr1 c2\nr2 c1\tr2 c2";
            
            // select a 2 x 2 range and apply clip string to selection
            flex.Select(2, 2, 4, 4);
            flex.Clip = s;
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Clear(C1.Win.C1FlexGrid.ClearFlags,C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Clears a range.
            </summary>
      <param name="clearFlags">
        <see cref="T:C1.Win.C1FlexGrid.ClearFlags" /> value that specifies the elements to clear.</param>
      <param name="rg">Range to clear.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Clear(C1.Win.C1FlexGrid.ClearFlags,System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>
            Clears a range.
            </summary>
      <param name="clearFlags">
        <see cref="T:C1.Win.C1FlexGrid.ClearFlags" /> value that specifies the elements to clear.</param>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Clear(C1.Win.C1FlexGrid.ClearFlags,System.Int32,System.Int32)">
      <summary>
            Clears a cell.
            </summary>
      <param name="clearFlags">
        <see cref="T:C1.Win.C1FlexGrid.ClearFlags" /> value that specifies the elements to clear.</param>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Clear(C1.Win.C1FlexGrid.ClearFlags)">
      <summary>
            Clears the grid.
            </summary>
      <param name="clearFlags">
        <see cref="T:C1.Win.C1FlexGrid.ClearFlags" /> value that specifies the elements to clear.</param>
      <remarks>
            The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Clear(C1.Win.C1FlexGrid.ClearFlags,C1.Win.C1FlexGrid.CellRange)" /> method does not affect the number of rows and columns on the grid, 
            and can't be used to clear data when the grid is bound to a data source. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Clear">
      <summary>
            Clears the grid.
            </summary>
      <remarks>
        <para>This method removes all data, styles, and user data from all cells, rows, and columns on the grid.</para>
        <para>The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Clear(C1.Win.C1FlexGrid.ClearFlags,C1.Win.C1FlexGrid.CellRange)" /> method does not affect the number of rows and columns on the grid, 
            and can't be used to clear data when the grid is bound to a data source.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRange(System.Int32,System.Int32)">
      <summary>
            Gets a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that can be used to format and manipulate a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that can be used to format and manipulate the cell.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRange(System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>
            Gets a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that can be used to format and manipulate a range.
            </summary>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <returns>A <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that can be used to format and manipulate the range.</returns>
      <remarks>
        <para>The <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object provides access to properties of the cells in the range.
            For example, the code below sets the style of a range:</para>
        <code>
            CellRange rg = flex.GetCellRange(5, 5, 20, 8);
            rg.Style = flex.Styles["MyStyle"];
            </code>
        <para>Note: <see cref="T:C1.Win.C1FlexGrid.CellRange" /> is a class, not a struct. Because of this, you have to 
            assign the value to a variable and then use the variable. For example, the following code 
            will not compile:</para>
        <code>
            // this does not compile
            flex.GetCellRange(5, 5, 20, 8).Style = flex.Styles["MyStyle"];
            </code>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.CreateImage">
      <summary>
            Creates an image of the entire grid.
            </summary>
      <returns>An <see cref="T:System.Drawing.Image" /> object containing a metafile image of the grid.</returns>
      <remarks>
            Use this method to copy grid images to the clipboard so you can paste them into 
            documents or other applications.
            </remarks>
      <example>
            The code below creates an image of a grid range and saves it to a PNG file that can be 
            included in other documents such as web pages:
            <code>
            Image img = flex.CreateImage(0,0,10,5);
            img.Save(@"c:\temp\grid.png", System.Drawing.Imaging.ImageFormat.Png);
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.CreateImage(System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>
            Creates an image of a portion of the grid.
            </summary>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <returns>An <see cref="T:System.Drawing.Image" /> object containing a metafile image of the grid.</returns>
      <remarks>
            The image returned includes any fixed and frozen cells in addition to the specified range.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.CreateImage(C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Creates an image of a portion of the grid.
            </summary>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> that specifies which cells should be included in the image.</param>
      <returns>An <see cref="T:System.Drawing.Image" /> object containing a metafile image of the grid.</returns>
      <remarks>
            The image returned includes any fixed and frozen cells in addition to the specified range.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.CreateImage(System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.Imaging.EmfType)">
      <summary>
            Creates an image of a portion of the grid.
            </summary>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <param name="emfType">
        <see cref="T:System.Drawing.Imaging.EmfType" /> value that determines the type of metafile to create.</param>
      <returns>An <see cref="T:System.Drawing.Image" /> object containing a metafile image of the grid.</returns>
      <remarks>
            The image returned includes any fixed and frozen cells in addition to the specified range.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.CreateImage(C1.Win.C1FlexGrid.CellRange,System.Drawing.Imaging.EmfType)">
      <summary>
            Creates an image of a portion of the grid.
            </summary>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> that specifies which cells should be included in the image.</param>
      <param name="emfType">
        <see cref="T:System.Drawing.Imaging.EmfType" /> value that determines the type of metafile to create.</param>
      <returns>An <see cref="T:System.Drawing.Image" /> object containing a metafile image of the grid.</returns>
      <remarks>
            The image returned includes any fixed and frozen cells in addition to the specified range.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.DrawCellImage(System.Drawing.Graphics,System.Int32,System.Int32,System.Drawing.Rectangle)">
      <summary>
            Draws a grid cell.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object where the cell will be drawn.</param>
      <param name="row">Index of the cell's row.</param>
      <param name="col">Index of the cell's column.</param>
      <param name="rcBounds">
        <see cref="T:System.Drawing.Rectangle" /> that defines the cell position.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor">
      <summary>
            Gets or sets a reference to the cell editor that is currently active.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> property returns a reference to the cell editor that is 
            currently active. This may be one of the built-in editors (a TextBox, a ComboBox, or a 
            DateTimePicker control), a custom editor, or null (if the grid is not in edit mode).</para>
        <para>You can use this property to programmatically access the editor, or to find out 
            if the grid is in edit mode.</para>
        <para>If you don't want to use the grid's built-in editors, you can use any other control 
            instead. To do this, either associate the external editor with a specific grid row, column, 
            or <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> using the <see cref="P:C1.Win.C1FlexGrid.CellStyle.Editor" /> property, which you can 
            get and set at any time.</para>
        <para>Alternatively, you can handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartEdit" /> event and assign any control 
            directly to the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> property. (Note that the grid's Editor property can only 
            be assigned while handling the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartEdit" /> event, and is automatically reset to 
            null when the grid exits edit mode.)</para>
        <para>Any control can be used as an external editor, but to achieve complete integration with 
            the grid, the external editor should implement the IC1EmbeddedEditor interface. Some controls 
            implement this interface natively and don't require any extra code to be used as grid editors 
            (like the ones in the C1Input library). Most, however, will require you to implement at least 
            a few of the methods in IC1EmbeddedEditor.</para>
        <para>For examples of custom editors, please see Using Custom Editors and Creating Custom Editors 
            in this documentation, or visit our on-line sample library at https://www.grapecity.com/en/samples
            and download the "CustomEditors" sample.</para>
      </remarks>
      <example>
            The code below uses the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetupEditor" /> event to customize the current editor 
            by setting two properties.
            <code>
            void _flex_SetupEditor(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
            {
                TextBox tb = _flex.Editor as TextBox;
                if (tb != null)
                {
                    tb.CharacterCasing = CharacterCasing.Upper;
                    tb.MaxLength = 12;
                }
            }
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.EmptyAsNull">
      <summary>
            If True then empty strings from editor are interpreted as null values.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList">
      <summary>
            Gets or sets the list of items to be used by the drop-down editor.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property specifies the type of editor to be used when 
            editing a cell. You may use a text box, drop-down list, drop-down combo, or an edit button 
            to pop up custom editor forms.</para>
        <para>To use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property, set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> property 
            to true and respond to the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" /> event by setting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> 
            property to a string that describes the type of editing you want to use for that cell.
            The options are described below:</para>
        <para>1. To edit the cell using a regular text box, set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property to an empty string. 
            For example:</para>
        <code>flex.ComboList = string.Empty;</code>
        <para>2. To edit the cell using a drop-down list, set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property to a string containing the 
            available options, separated by pipe characters. For example:</para>
        <code>flex.ComboList = "Item 1|Item 2|Item 3";</code>
        <para>3. To edit the cell using a drop-down combo, set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property to a string containing the 
            available options, separated by pipe characters ("|") and starting with a pipe character. For example:</para>
        <code>flex.ComboList = "|Item 1|Item 2|Item 3";</code>
        <para>4. To display an edit button, set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property to a string containing an ellipsis ("..."). 
            Edit buttons look like regular push buttons, aligned to the right of the cell, with an ellipsis as a caption. 
            When the user clicks on the edit button, the grid fires the CellButtonClick event. In this case, the user can't 
            edit the cell contents directly. For example:</para>
        <code>flex.ComboList = "...";</code>
        <para>5. To display an edit button next to an editable cell, set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property to a string 
            containing a pipe and an ellipsis ("|..."). In this case, you get a regular edit button but the user can also edit the
            cell contents directly. For example:</para>
        <code>flex.ComboList = "|...";</code>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property is especially useful in cases where different rows in 
            the same column may contain different types of data (for example a control such as the PropertyGrid).
            In this case, the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property allows you to adjust the type of editing you 
            want to provide depending on the current row.</para>
        <para>If all rows in the column contain the same type of data, use the Column's <see cref="P:C1.Win.C1FlexGrid.RowCol.ComboList" /> 
            property instead. This way, the grid will automatically select the list depending on the column 
            being edited and you don't need to handle any events.</para>
        <para>Note that the <b>ComboList</b> allows you to specify lists of strings only. Cells will store and display 
            these strings. If you want to store a certain type of data and display values associated with that data, see
            the <see cref="P:C1.Win.C1FlexGrid.RowCol.DataMap" /> property. The <b>DataMap</b> property allows you to store values in the cells 
            (for example a CustomerID) and display strings associated with that data (for example the customer name).</para>
      </remarks>
      <example>
            The code below handles the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" /> event and assigns a value to the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" />
            property so that the grid displays buttons on every other row.
            <code>
            void _flex_BeforeEdit(object sender, RowColEventArgs e)
            {
              _flex.ComboList = string.Empty;
              if (e.Row % 2 == 0) _flex.ComboList = "...";
            }
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.EditMask">
      <summary>
            Gets or sets the input mask to use when editing cells.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.EditMask" /> specifies an input mask for automatic input formatting and 
            validation. The mask syntax is similar to the one used by the Microsoft MaskedEdit ActiveX 
            control and by Microsoft Access and is described below.</para>
        <para>Set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.EditMask" /> property in response to the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" /> event, 
            in the same way you would set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" /> property.</para>
        <para>If the same mask is used to edit all values in a column, use the column's <see cref="P:C1.Win.C1FlexGrid.RowCol.EditMask" /> 
            property. This simplifies your code because you don't need to handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" /> event.</para>
        <para>When the user is done editing a cell with a mask, the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ValidateEdit" /> event fires.
            The <cref name="ValidateEditEventArgs.Cancel" /> event parameter will be set to true if the mask was not filled 
            out properly, so in most cases you don't have to implement the handler. The default behavior ensures that 
            only valid data will be entered.</para>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.EditMask" /> string is composed of the following symbols:</para>
        <para>
        </para>
        <para>1) Wildcards</para>
        <para>0	digit</para>
        <para>9	digit or space</para>
        <para>#	digit, space, or sign</para>
        <para>L	letter</para>
        <para>?	letter or space</para>
        <para>A	letter or digit</para>
        <para>a	letter, digit, or space</para>
        <para>&amp;	any character</para>
        <para>
        </para>
        <para>2) Localized characters</para>
        <para>.	localized decimal separator</para>
        <para>,	localized thousand separator</para>
        <para>:	localized time separator</para>
        <para>/	localized date separator</para>
        <para>
        </para>
        <para>3) Command characters</para>
        <para>\	next character is taken as a literal</para>
        <para>&gt;	translate letters to uppercase</para>
        <para>&lt;	translate letters to lowercase</para>
        <para>
        </para>
        <para>4) Placeholder specification</para>
        <para>;	next character is used as a placeholder (the default is an underscore)</para>
      </remarks>
      <example>
            The code below sets the edit mask so the user can enter a phone number, with optional 
            area code, and a state in uppercase letters. The space-holder used is an asterisk ("*").
            <code>
            flex.EditMask = "(###) 000-0000 St\ate\: &gt;LL;*";
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.StartEditing(System.Int32,System.Int32,System.Char)">
      <summary>
            Puts the grid in edit mode and starts editing a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="key">Initial character to be sent to the editor.</param>
      <returns>True if the grid entered edit mode successfully, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.StartEditing(System.Int32,System.Int32)">
      <summary>
            Puts the grid in edit mode and starts editing a cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the grid entered edit mode successfully, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.StartEditing">
      <summary>
            Puts the grid in edit mode and starts editing the current cell.
            </summary>
      <returns>True if the grid entered edit mode successfully, false otherwise.</returns>
      <remarks>
        <para>If the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> property is set to true, the control goes into 
            edit mode automatically when the user presses the edit key (F2), the space bar, or 
            any printable character. You may use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.StartEditing(System.Int32,System.Int32,System.Char)" /> method to force 
            the control into cell-editing mode.</para>
        <para>The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.StartEditing(System.Int32,System.Int32,System.Char)" /> method forces the control into editing mode even 
            if <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> is set to False. You may also use it to allow editing of 
            fixed cells.</para>
      </remarks>
      <example>
            The code below uses the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.StartEditing(System.Int32,System.Int32,System.Char)" /> method to keep the grid in edit mode 
            while the user moves the selection (like the .NET DataGrid control):
            <code>
            void _flex_RowColChange(object sender, System.EventArgs e)
            {
              _flex.StartEditing();
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.FinishEditing">
      <summary>
            Finishes editing the current cell and takes the grid out of edit mode.
            </summary>
      <returns>True if the grid left edit mode successfully, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.FinishEditing(System.Boolean)">
      <summary>
            Finishes editing the current cell and takes the grid out of edit mode, 
            optionally canceling the edits.
            </summary>
      <param name="cancel">Whether to cancel the current edits and revert the cell to its original value.</param>
      <returns>True if the grid left edit mode successfully, false otherwise.</returns>
      <remarks>
        <para>If the cancel parameter is set to false, the grid tries to apply the edits, 
            and fires the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ValidateEdit" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.LeaveEdit" />, and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterEdit" /> events as usual.
            If validation fails, the grid stays in edit mode (and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.FinishEditing" /> returns false).</para>
        <para>If the cancel parameter is set to true, the original cell value is restored and the 
            grid is guaranteed to leave the edit mode. In this case, only the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.LeaveEdit" /> event fires.</para>
        <para>To determine whether the grid is in edit mode, check whether the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> property is null.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.StartEditing(System.Int32,System.Int32,System.Char,System.Boolean)">
      <summary>
            Starts editing a cell in response to a key press.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the editing process.
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="key">Key that initiated the edit process.</param>
      <param name="force">Whether editing should start even in non-editable cells (e.g. fixed cells).</param>
      <returns>True if the editing process was started successfully, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.StartEditing(System.Int32,System.Int32,System.Drawing.Point,System.Boolean)">
      <summary>
            Starts editing a cell in response to a mouse action.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the editing process.
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="ptMouse">Mouse position in client coordinates.</param>
      <param name="dblClick">Whether the action was a double-click.</param>
      <returns>True if the editing process was started successfully, false otherwise.</returns>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Tree">
      <summary>
            Gets a reference to the <see cref="T:C1.Win.C1FlexGrid.GridTree" /> object that controls the appearance 
            of the outline tree in the grid.
            </summary>
      <remarks>
        <para>The <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" /> can group data hierarchically and display it with a 
            collapsible tree similar to the one in the Microsoft TreeView control.
            The <see cref="T:C1.Win.C1FlexGrid.GridTree" /> object is used to specify the position and appearance 
            of the outline tree.</para>
        <para>For details on create outlines, see the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method and
            the <see cref="P:C1.Win.C1FlexGrid.Row.IsNode" /> property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Nodes">
      <summary>
            Gets an array containing all zero-level <see cref="T:C1.Win.C1FlexGrid.Node" />
            rows on the grid.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataMember">
      <summary>
            Gets or sets the specific list in a <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> object that the grid should display.
            </summary>
      <remarks>
        <para>If a <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> contains multiple sources of data, you should set the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataMember" /> property to one of the sources.</para>
        <para>For example, if the DataSource is a <see cref="T:System.Data.DataSet" /> contains three tables named Customers, 
            Orders, and OrderDetails, you must specify one of the tables to bind to.</para>
        <para>If the <see cref="T:System.Data.DataSet" /> contains only one <see cref="T:System.Data.DataTable" />, you may set the 
            DataMember property to an empty string.</para>
        <para>You can use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetDataBinding(System.Object,System.String)" /> method to set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> 
            and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataMember" /> properties at the same time.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource">
      <summary>
            Gets or sets the data source for the grid.
            </summary>
      <remarks>
        <para>Any object that implements the <see cref="T:System.Collections.IList" /> or <see cref="T:System.ComponentModel.IListSource" /> 
            interfaces can be used as a data source.</para>
        <para>Specifically, the following ADO.NET data sources are valid: DataTable, DataView,
            DataSet, and DataViewManager.</para>
        <para>The following ComponentOne DataObjects components are also valid data sources:
            C1ExpressTable, C1ExpressVew, C1ExpressConnection, C1DataView, C1DataTableSource, and C1DataSet.</para>
        <para>If the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> reference contains more than one table, you must 
            also set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataMember" /> property a string that specifies the table to bind to.
            For example, if the DataSource is a DataSet or DataViewManager that contains three tables named 
            Customers, Orders, and OrderDetails, you must specify one of the tables to bind to.</para>
        <para>You can use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetDataBinding(System.Object,System.String)" /> method to set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> 
            and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataMember" /> properties simultaneously.</para>
        <para>You can also assign another <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" /> object to the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> 
            property. In this case, the controls will share the same grid model, including the data, display styles, 
            selection, etc. This can be used to implement split views, where different controls display different 
            parts of the same data.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetDataBinding(System.Object,System.String)">
      <summary>
            Sets the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataMember" /> properties.
            </summary>
      <param name="dataSource">The new data source object.</param>
      <param name="dataMember">The table to bind to within the data source object.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetDataBinding(System.Object,System.String,System.Boolean)">
      <summary>
            Sets the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataMember" /> properties, 
            optionally keeping the current column layout.
            </summary>
      <param name="dataSource">The new data source object.</param>
      <param name="dataMember">The table to bind to within the data source object.</param>
      <param name="preserveLayout">Whether the current column layout should be preserved or re-generated 
            automatically based on the data source schema.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoResize">
      <summary>
            Gets or sets whether column widths are automatically adjusted when data is loaded.
            </summary>
      <remarks>
        <para>This property works when the control is bound to a <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" />.</para>
        <para>If <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoResize" /> is set to true, the control automatically resizes its 
            columns to fit the widest entry every time new data is read from the data source.</para>
        <para>If the data source contains a large number of rows and columns, the automatic
            resizing may take a relatively long time. In these cases, you should consider setting 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoResize" /> to false and setting the column widths directly in code.</para>
        <para>You may also use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> method to adjust the column widths
            automatically.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoGenerateColumns">
      <summary>
            Gets or sets whether columns are automatically created when the grid is bound to a data source.
            </summary>
      <remarks>
            By default, assigning a new <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" /> to the grid resets the column collection
            to reflect the data source schema. If you set <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoGenerateColumns" /> to false, the 
            existing column layout will be preserved.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,C1.Win.C1FlexGrid.CellRange,C1.Win.C1FlexGrid.AggregateFlags)">
      <summary>
            Calculates aggregate statistics for a range.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that contains the values to be aggregated.</param>
      <param name="flags">
        <see cref="T:C1.Win.C1FlexGrid.AggregateFlags" /> value that specifies aggregation options.</param>
      <returns>A <see cref="T:System.Double" /> that represents the aggregate value.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AggregateFlags)">
      <summary>
            Calculates aggregate statistics for a range.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <param name="flags">
        <see cref="T:C1.Win.C1FlexGrid.AggregateFlags" /> value that specifies aggregation options.</param>
      <returns>A <see cref="T:System.Double" /> that represents the aggregate value.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,C1.Win.C1FlexGrid.AggregateFlags)">
      <summary>
            Calculates aggregate statistics for the current selection.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="flags">
        <see cref="T:C1.Win.C1FlexGrid.AggregateFlags" /> value that specifies aggregation options.</param>
      <returns>A <see cref="T:System.Double" /> that represents the aggregate value.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum)">
      <summary>
            Calculates aggregate statistics for the current selection.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <returns>A <see cref="T:System.Double" /> that represents the aggregate value.</returns>
      <example>
            The code below <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,C1.Win.C1FlexGrid.CellRange,C1.Win.C1FlexGrid.AggregateFlags)" /> method to calculate aggregate statistics 
            for the current selection. Whenever the selection changes, new aggregates are 
            calculated and written to the console.
            <code>
            void flex_SelChange(object sender, System.EventArgs e)
            {
              string fmt = "Count {0:0}, Sum {1:#,##0.00}, " +
                           "Avg {2:#,##0.00}, Stdev {3:#,##0.00}";
              Console.WriteLine(fmt,
                flex.Aggregate(AggregateEnum.Count),
                flex.Aggregate(AggregateEnum.Sum),
                flex.Aggregate(AggregateEnum.Average),
                flex.Aggregate(AggregateEnum.Std));
            }
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Calculates aggregate statistics for a range.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="rg">
        <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object that contains the values to be aggregated.</param>
      <returns>A <see cref="T:System.Double" /> that represents the aggregate value.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>
            Calculates aggregate statistics for a range.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <returns>A <see cref="T:System.Double" /> that represents the aggregate value.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)">
      <summary>
            Groups rows based on cell contents and calculates aggregate values.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="level">Outline level to assign to the new subtotal rows. This parameter allows the creation of multi-level subtotals and affects the display of the outline tree.</param>
      <param name="groupFrom">First column in the range used to detect group breaks.</param>
      <param name="groupTo">Last column in the range used to detect group breaks.</param>
      <param name="totalOn">Column that contains values to be aggregated (usually numeric).</param>
      <param name="caption">Text to insert in the subtotal rows.</param>
      <remarks>
        <para>The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method inserts rows containing aggregate values. These new rows are set 
            to behave as tree nodes so they can be collapsed and expanded to display a dynamic hierarchical 
            outline.</para>
        <para>You can control the appearance and behavior of the outline tree using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Tree" /> property.</para>
        <para>The node rows added by the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method have their <see cref="P:C1.Win.C1FlexGrid.RowCol.Style" /> property 
            automatically set to one of the Styles.Subtotal* styles. You can use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Styles" /> 
            collection to modify the appearance of all subtotal rows on the grid.</para>
        <para>To create an outline tree manually, insert node rows using the <see cref="M:C1.Win.C1FlexGrid.RowCollection.InsertNode(System.Int32,System.Int32)" /> method, 
            or convert regular rows into nodes by setting the <see cref="P:C1.Win.C1FlexGrid.Row.IsNode" /> property to true for the 
            node rows. Then use the <see cref="P:C1.Win.C1FlexGrid.Node.Level" /> property to set the outline level for the new 
            nodes.</para>
      </remarks>
      <example>
        <para>The code below assumes a grid with four columns: "Product", "Region", "Employee", and "Sales".</para>
        <para>The code groups on the first two columns, calculating total sales for each product and for 
            each region within each product.</para>
        <para>If the user drags a column to a new position, the tree is automatically rebuilt to show 
            the new grouping (by Employee, Region, etc).</para>
        <code>
            void UpdateTotals()
            {
              // no repainting until we're done
              _flex.Redraw = false;
              
              // clear old subtotals, if any
              _flex.Subtotal(AggregateEnum.Clear);
              
              // sort the grid on the columns that will be grouped
              _flex.Sort(SortFlags.Ascending, 0, 3);
              
              // show outline tree on column 0
              _flex.Tree.Column = 0;
              
              // get a grand total (use -1 instead of column index)
              _flex.Subtotal(AggregateEnum.Sum, -1, -1, 3, "Grand Total");
              
              // total on column 0 (initially Product)
              _flex.Subtotal(AggregateEnum.Sum, 0, 0, 3);
              
              // total on column 1 (initially Region)
              _flex.Subtotal(AggregateEnum.Sum, 1, 1, 3);
              
              // show outline level 1
              _flex.Tree.Show(1);
              
              // restore painting
              _flex.Redraw = true;
            }
            void _flex_AfterDragColumn(object sender, C1.Win.C1FlexGrid.DragRowColEventArgs e)
            {
              UpdateTotals(); // user moved a column, update totals
            }
            </code>
      </example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.String)">
      <summary>
            Groups rows based on cell contents and calculates aggregate values.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="level">Outline level to assign to the new subtotal rows. This parameter allows the creation of multi-level subtotals and affects the display of the outline tree.</param>
      <param name="groupOn">Column used to detect group breaks.</param>
      <param name="totalOn">Column that contains values to be aggregated (usually numeric).</param>
      <param name="caption">Text to insert in the subtotal rows.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32)">
      <summary>
            Groups rows based on cell contents and calculates aggregate values.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="level">Outline level to assign to the new subtotal rows. This parameter allows the creation of multi-level subtotals and affects the display of the outline tree.</param>
      <param name="groupOn">Column used to detect group breaks.</param>
      <param name="totalOn">Column that contains values to be aggregated (usually numeric).</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum)">
      <summary>
            Groups rows based on cell contents and calculates aggregate values.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <remarks>
            This version of the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method does not take any column parameters,
            and is useful only for clearing the subtotals. For example:
            <code>
            flex.Subtotal(AggregateEnum.Clear); // clear all subtotals
            </code></remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.String,System.String,System.String,System.String)">
      <summary>
            Groups rows based on cell contents and calculates aggregate values.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="level">Outline level to assign to the new subtotal rows. This parameter allows the creation of multi-level subtotals and affects the display of the outline tree.</param>
      <param name="groupFrom">Name of the first column in the range used to detect group breaks.</param>
      <param name="groupTo">Name of the last column in the range used to detect group breaks.</param>
      <param name="totalOn">Name of the column that contains values to be aggregated (usually numeric).</param>
      <param name="caption">Text to insert in the subtotal rows.</param>
      <remarks>
            This is a variant of the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method
            that takes column names instead of indices.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.String,System.String,System.String)">
      <summary>
            Groups rows based on cell contents and calculates aggregate values.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="level">Outline level to assign to the new subtotal rows. This parameter allows the creation of multi-level subtotals and affects the display of the outline tree.</param>
      <param name="groupOn">Name column used to detect group breaks.</param>
      <param name="totalOn">Name of the column that contains values to be aggregated (usually numeric).</param>
      <param name="caption">Text to insert in the subtotal rows.</param>
      <remarks>
            This is a variant of the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.String)" /> method
            that takes column names instead of indices.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.String,System.String)">
      <summary>
            Groups rows based on cell contents and calculates aggregate values.
            </summary>
      <param name="aggType">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="level">Outline level to assign to the new subtotal rows. This parameter allows the creation of multi-level subtotals and affects the display of the outline tree.</param>
      <param name="groupOn">Name column used to detect group breaks.</param>
      <param name="totalOn">Name of the column that contains values to be aggregated (usually numeric).</param>
      <remarks>
            This is a variant of the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32)" /> method
            that takes column names instead of indices.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.SubtotalPosition">
      <summary>
            Gets or sets whether node rows appear above or below the data.
            </summary>
      <remarks>
        <para>This property determines how the outline tree is drawn, and it also determines
            whether the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method should add subtotal rows (which are node rows) 
            above or below the data being summarized.</para>
        <para>Changing this property clears any existing nodes.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AddItem(System.String)">
      <summary>
            Adds a row to the grid and populates the new row with data.
            </summary>
      <param name="item">String containing the data for the new row. Items are separated by tab characters 
            by default. You can change the separator character using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipSeparators" /> property.</param>
      <returns>A reference to the new row.</returns>
      <remarks>
        <para>You can also add and remove rows using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Rows" /> collection. The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AddItem(System.String)" /> 
            method provides a concise syntax for creating the row, populating it with data, and then adding it to the grid.</para>
        <para>Before using <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AddItem(System.String)" /> to add a large number of rows to the grid, remember to set the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Redraw" /> property to false. When finished adding the rows, set <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Redraw" /> back to 
            its original value. This will significantly improve performance.</para>
      </remarks>
      <example>
            The code below adds 300 rows to the grid.
            <code>
            // suspend painting to improve performance
            bool redraw = flex.Redraw;
            flex.Redraw = false;
            
            // append 100 rows, using tabs as separators
            flex.ClipSeparators = "\t\n";
            for (int i = 0; i &lt; 100; i++)
              flex.AddItem("\tcol1\tcol2\tcol3");
              
            // add 100 rows at the top, using pipes as separators
            flex.ClipSeparators = "|;";
            for (int i = 0; i &lt; 100; i++)
              flex.AddItem("|col1|col2|col3", 0);
              
            // append 100 rows at the bottom, using an object array
            object[] items = { "col1", "col2", "col3" };
            for (int i = 0; i &lt; 100; i++)
              flex.AddItem(items, flex.Rows.Count, flex.Cols.Fixed);
              
            // restore painting
            flex.Redraw = redraw;
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AddItem(System.Object[])">
      <summary>
            Adds a row to the grid and populates the new row with data.
            </summary>
      <param name="items">Array of objects that will be assigned to the new row.</param>
      <returns>A reference to the new row.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AddItem(System.String,System.Int32)">
      <summary>
            Adds a row to the grid at a specified position and populates the new row with data.
            </summary>
      <param name="item">String containing the data for the new row. Items are separated by tab characters 
            by default. You can change the separator character using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipSeparators" /> property.</param>
      <param name="index">Position where the new row will be inserted.</param>
      <returns>A reference to the new row.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AddItem(System.Object[],System.Int32,System.Int32)">
      <summary>
            Adds a row to the grid at a specified position and populates the new row with data.
            </summary>
      <param name="items">Array of objects that will be assigned to the new row.</param>
      <param name="rowIndex">Position where the new row will be inserted.</param>
      <param name="colIndex">First column to populate with the items in the <paramref name="items" /> 
            array. This parameter is usually set to the index of the first scrollable column.</param>
      <returns>A reference to the new row.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.RemoveItem">
      <summary>
            Removes the last row from the grid.
            </summary>
      <remarks>
        <para>You can also add and remove rows using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Rows" /> collection.</para>
        <para>The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.RemoveItem" /> method is provided for consistency, since the grid 
            also has an <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AddItem(System.String)" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.RemoveItem(System.Int32)">
      <summary>
            Removes a row at a specified position from the grid.
            </summary>
      <param name="index">Index of the row to be removed.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)">
      <summary>
            Prints the grid, optionally showing a page setup or print preview dialog.
            </summary>
      <param name="docName">The document name, which appears on the progress dialogs and on the print job windows.</param>
      <param name="flags">Flags that select printing options.</param>
      <returns>True if the grid was printed, false if the user canceled the operation before printing started.</returns>
      <remarks>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.PrintParameters" /> property to set up options such as page orientation 
            and margins, header and footer fonts, etc.</para>
        <para>The method returns true if the user started the printing process. If the user clicks cancel while 
            the grid is printing, the method returns true (some pages may be printed anyway depending on the 
            printer settings). To detect canceled jobs, handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.EndPrint" /> event and check the 
            value of the e.Cancel parameter.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags,System.String,System.String)">
      <summary>
            Prints the grid, optionally showing a page setup or print preview dialog.
            </summary>
      <param name="docName">The document name, which appears on the progress dialogs and on the print job windows.</param>
      <param name="flags">Flags that select printing options.</param>
      <param name="header">String that appears on the top of every page.</param>
      <param name="footer">String that appears on the bottom of every page.</param>
      <returns>True if the grid was printed, false if the user canceled the operation.</returns>
      <remarks>
        <para>The header and footer strings may contain up to three tab-delimited sections, which are 
            aligned to the left, center, and right of the page. The strings may also contain placeholders 
            that are replaced with the current page number and total number of pages ("{0}" and "{1}").</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.PrintParameters" /> property to set up options such as page orientation 
            and margins, header and footer fonts, etc.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String)">
      <summary>
            Prints the grid, optionally showing a page setup or print preview dialog.
            </summary>
      <param name="docName">The document name, which appears on the progress dialogs and on the print job windows.</param>
      <returns>True if the grid was printed, false if the user canceled the operation.</returns>
      <remarks>
            Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.PrintParameters" /> property to set up options such as page orientation 
            and margins, header and footer fonts, etc.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.PrintParameters">
      <summary>
            Gets a <see cref="T:C1.Win.C1FlexGrid.GridPrinter" /> object that specifies printing parameters for the grid.
            </summary>
      <remarks>
        <para>Use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)" /> method to print the grid and specify the document name, 
            common printing options, headers and footers.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.PrintParameters" /> property to specify less common printing options 
            such as header and footer fonts, page margins, and page orientation.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.DropMode">
      <summary>
            Gets or sets a value that determines if the control can accept data that the user drags onto it.
            </summary>
      <remarks>
        <para>This property allows you to use the control as a target for OLE drag-drop operations.</para>
        <para>If set to <see cref="F:C1.Win.C1FlexGrid.DropModeEnum.None" /> (the default value), the control does not act as a drop target.</para>
        <para>If set to <see cref="F:C1.Win.C1FlexGrid.DropModeEnum.Manual" />, the control fires the standard drag-drop events 
            and the programmer is responsible for handling them. The main events involved are <see cref="E:System.Windows.Forms.Control.DragOver" /> and 
            <see cref="E:System.Windows.Forms.Control.DragDrop" />. These events are provided by the standard System.Windows.Forms.Control object.</para>
        <para>If set to <see cref="F:C1.Win.C1FlexGrid.DropModeEnum.Automatic" />, the control handles the <see cref="E:System.Windows.Forms.Control.DragOver" /> and
            <see cref="E:System.Windows.Forms.Control.DragDrop" /> events automatically by performing the following actions:</para>
        <para>1) Query the data object for data in text or filename formats.</para>
        <para>2) Scroll if the user drags an object near the edges of the control.</para>
        <para>3) Paste the contents of the data object when the user drops valid data on the control.</para>
        <para>Note: This property replaces and extends the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowDrop" /> property provided by the 
            base <see cref="T:System.Windows.Forms.Control" /> object.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.DragMode">
      <summary>
            Gets or sets a value that determines if the user can drag data from the control.
            </summary>
      <remarks>
        <para>This property allows you to use the control as a source for OLE drag-drop operations. If 
            set to any of the automatic settings, the control provides the following services:</para>
        <para>1) Detect when the mouse is near the edge of a selected cell or range and display the 
            OLE drag cursor.</para>
        <para>2) If the user clicks the mouse while the OLE drag cursor is displayed, initiate a 
            drag operation with a data object containing the current selection.</para>
        <para>In manual mode, the programmer is responsible for starting drag-drop operations using 
            the <see cref="M:System.Windows.Forms.Control.DoDragDrop(System.Object,System.Windows.Forms.DragDropEffects)" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags,System.Text.Encoding)">
      <summary>
            Saves the grid contents to a file.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
      <param name="format">File format to use.</param>
      <param name="flags">Options to use when saving the file.</param>
      <param name="encoding">
        <see cref="T:System.Text.Encoding" /> to use when saving the file.</param>
      <remarks>
        <para>Grids saved to CSV and other text files include data only (no formatting information is saved).</para>
        <para>Grids saved to Excel files include data and formatting information. Images are not saved.</para>
        <para>Grids can also be persisted to Xml format using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.WriteXml(System.String)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ReadXml(System.String)" /> methods.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags)">
      <summary>
            Saves the grid contents to a file.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
      <param name="format">File format to use.</param>
      <param name="flags">Options to use when saving the file.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum)">
      <summary>
            Saves the grid contents to a file.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
      <param name="format">File format to use.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags,System.Text.Encoding)">
      <summary>
            Loads the grid from a file.
            </summary>
      <param name="fileName">Name of the file to load, including the path.</param>
      <param name="format">File format to use.</param>
      <param name="flags">Options to use when loading the file.</param>
      <param name="encoding">
        <see cref="T:System.Text.Encoding" /> to use when saving the file.</param>
      <remarks>
        <para>This method loads grid from a file previously saved with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags,System.Text.Encoding)" /> method.
            Formats supported include comma-delimited text files (CSV format), tab-delimited 
            text files, and Microsoft Excel files (.XLS).</para>
        <para>When loading text files, rows and columns are added to the grid if needed to 
            accommodate the file contents. Text files contain only data and no formatting information.</para>
        <para>When loading Excel files, the grid retrieves the first worksheet from the specified 
            workbook file. The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags)" /> method allows you to specify which worksheet should be loaded. 
            You can use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcelSheetNames(System.String)" />
            method allows you to retrieve a list of the worksheets stored in an XLS file.
            The grid can save and load data and formatting information from XLS files.</para>
        <para>Grids can also be persisted to Xml format using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.WriteXml(System.String)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ReadXml(System.String)" /> methods.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags)">
      <summary>
            Loads the grid from a file.
            </summary>
      <param name="fileName">Name of the file to load, including the path.</param>
      <param name="format">File format to use.</param>
      <param name="flags">Options to use when loading the file.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum)">
      <summary>
            Loads the grid from a file.
            </summary>
      <param name="fileName">Name of the file to load, including the path.</param>
      <param name="format">File format to use.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags,System.Drawing.Printing.PrinterSettings)">
      <summary>
            Saves the grid contents to a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
      <param name="sheetName">Name of the sheet to add to the Excel workbook.</param>
      <param name="flags">Options to use when saving the file.</param>
      <param name="ps">
        <see cref="T:System.Drawing.Printing.PrinterSettings" /> to use when saving the file.</param>
      <remarks>
        <para>If the specified file exists, the control will add or replace a single worksheet in it.
            Existing sheets will be preserved if possible.</para>
        <para>The worksheet to add or replace is identified by the <paramref name="sheetName" /> parameter.</para>
        <para>If the specified file is in use by another application (usually Excel), the method will fail.</para>
        <para>This method does not require Microsoft Excel to be installed on the machine.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags)">
      <summary>
            Saves the grid contents to a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
      <param name="sheetName">Name of the sheet to add to the Excel workbook.</param>
      <param name="flags">Options to use when saving the file.</param>
      <remarks>
        <para>If the specified file exists, the control will add or replace a single worksheet in it.
            Existing sheets will be preserved if possible.</para>
        <para>The worksheet to add or replace is identified by the <paramref name="sheetName" /> parameter.</para>
        <para>If the specified file is in use by another application (usually Excel), the method will fail.</para>
        <para>This method does not require Microsoft Excel to be installed on the machine.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String,System.String)">
      <summary>
            Saves the grid contents to a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
      <param name="sheetName">Name of the sheet to add to the Excel workbook.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String,C1.Win.C1FlexGrid.FileFlags)">
      <summary>
            Saves the grid contents to a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
      <param name="flags">
      </param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String)">
      <summary>
            Saves the grid contents to a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags)">
      <summary>
            Loads the grid from a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to load, including the path.</param>
      <param name="sheetName">Name of the worksheet to load.</param>
      <param name="flags">Options to use when loading the file.</param>
      <remarks>
            Use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcelSheetNames(System.String)" /> method to obtain a list of the worksheets 
            in an XLS file.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String,System.String)">
      <summary>
            Loads the grid from a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to load, including the path.</param>
      <param name="sheetName">Name of the worksheet to load.</param>
      <remarks>
            Use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcelSheetNames(System.String)" /> method to obtain a list of the worksheets 
            in an XLS file.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String,C1.Win.C1FlexGrid.FileFlags)">
      <summary>
            Loads the grid from the first worksheet in a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to load, including the path.</param>
      <param name="flags">Options to use when loading the file.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String)">
      <summary>
            Loads the grid from the first worksheet in a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the file to load, including the path.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcelSheetNames(System.String)">
      <summary>
            Gets a list with the names of the worksheets in a Microsoft Excel (.XLS) file.
            </summary>
      <param name="fileName">Name of the Excel file, including the path.</param>
      <returns>An array containing the names of the worksheets defined in the file.</returns>
      <remarks>
            This method is used to obtain a list of sheet names that can later be used to load and 
            save specific sheets using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags,System.Drawing.Printing.PrinterSettings)" /> methods.
            </remarks>
      <example>
            The code below loads all sheets in an Excel workbook into a collection of grids in a 
            TabControl:
            <code>
            // clear tabControl
            tabControl.TabPages.Clear();
            
            // load sheet names
            string fileName = "c:\book1.xls";
            string[] sheets = _flexGrid.LoadExcelSheetNames(fileName);
            
            // load each sheet
            foreach (string sheetName in sheets)
            {
              // create a new grid for this sheet
              C1FlexGrid flex = new C1FlexGrid();
              flex.Dock = DockStyle.Fill;
              
              // load sheet into new grid
              flex.LoadExcel(fileName, sheetName);
              
              // add grid to the tabControl
              TabPage page = new TabPage();
              page.Controls.Add(flex);
              page.Text = sheetName;
              tabControl.TabPages.Add(page);
            }
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowAddNew">
      <summary>
            Gets or sets whether the grid should display a new row template after the last data row.
            </summary>
      <remarks>
        <para>If the user enters data into the new row template, a new row is automatically added to the grid.</para>
        <para>This property works in bound mode (if the data source supports adding new rows) and also in 
            unbound mode.</para>
        <para>Note that if this property is set to true, the Rows.Count property will return a value 
            that includes the new row template. If you set the Rows.Count property, the grid will set the 
            number of data rows and will automatically add the new row template. For example:</para>
        <code>
            flex.AllowAddNew = true;
            flex.Rows.Count = 10;
            Console.WriteLine("Row count is {0}.", _flex.Rows.Count);
               Row count is 11.
            </code>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowDelete">
      <summary>
            Gets or sets whether the grid should monitor the keyboard and handle the DEL key.
            </summary>
      <remarks>
        <para>If this property is set to true, the user can delete rows by selecting them and then pressing 
            the DEL key.</para>
        <para>This property works in bound mode (if the data source supports deleting rows) and in unbound mode.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Glyphs">
      <summary>
            Gets the collection of control glyphs (images used to show sorting, check boxes, etc).
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Glyphs" /> property returns a <see cref="T:C1.Win.C1FlexGrid.GridGlyphs" /> collection with an indexer 
            of type <see cref="T:C1.Win.C1FlexGrid.GlyphEnum" />. This collection allows you to get or set the images used to 
            indicate column sorting, collapsed and expanded outline groups, check boxes, cursors, 
            error information, etc.</para>
        <para>Note: Setting a glyph to null restores the default (built-in) image. If you want to make a glyph 
            invisible, set it to a small blank image instead.</para>
      </remarks>
      <example>
            For example, the code below causes the grid to use custom images to display the column sorting order 
            (instead of the built-in hollow triangles):
            <code>
            flex.Glyphs[GlyphEnum.Ascending]  = imgAscending;
            flex.Glyphs[GlyphEnum.Descending] = imgDescending;
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoClipboard">
      <summary>
            Gets or sets whether the grid should handle the clipboard keys and automatically 
            perform cut, copy, paste, and delete operations.
            </summary>
      <remarks>
        <para>Setting this property to true causes the grid to monitor the keyboard for the
            following clipboard keys:</para>
        <para>Copy:	CTRL-INS, CTRL-C</para>
        <para>Cut:	CTRL-X, SHIFT-DEL</para>
        <para>Paste:	CTRL-V, SHIFT-INS</para>
        <para>Delete:	DEL</para>
        <para>Cut, paste, and delete actions are performed only if the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> 
            property is set to true.</para>
        <para>If you want to handle only a subset of the supported keys, add a handler to the 
            <see cref="E:System.Windows.Forms.Control.KeyDown" /> event and set the Handled parameter to true to disable some of the keys.</para>
        <para>Automatic clipboard operations only affect the grid data. Styles and images are 
            not copied, pasted, or deleted.</para>
        <para>Values copied to the clipboard are affected by the setting of the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipboardCopyMode" /> 
            property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.CustomComparer">
      <summary>
            Gets or sets a custom comparer object used by the grid to perform grouping, 
            merging, and searching operations.
            </summary>
      <remarks>
        <para>The grid has a default <see cref="T:System.Collections.IComparer" /> implementation that is used to compare 
            cells and determine if their contents are equivalent. This implementation is used when merging, 
            grouping, or searching for values (see the <see cref="P:C1.Win.C1FlexGrid.C1FlexGrid.AllowMerging" /> property and the 
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.FindRow(System.String,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Boolean)" /> methods).</para>
        <para>The default implementation is case-sensitive and takes leading and trailing blanks into account.</para>
        <para>If you want to merge cells using a case-insensitive comparison or trimming blanks, 
            write a custom class that implements the <see cref="T:System.Collections.IComparer" /> interface and assign an 
            instance of it to the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.CustomComparer" /> property.</para>
        <para>Setting this property to null (Nothing in Visual Basic) restores the default behavior.</para>
      </remarks>
      <example>
            The code below replaces the built-in comparer with a <see cref="T:System.Collections.CaseInsensitiveComparer" />. 
            This causes the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method to group items that differ only in case into the
            same groups:
            <code>
            // use case-insensitive comparer
            flex.CustomComparer = new CaseInsensitiveComparer(); 
            
            // add groups ignoring case
            flex.Subtotal(AggregateEnum.Sum, 0, groupOn, totalOn);
            
            // restore default (case-sensitive) comparer
            flex.CustomComparer = null; 
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.EditOptions">
      <summary>
            Gets or sets an <see cref="T:C1.Win.C1FlexGrid.EditFlags" /> flags that affect the grid's editing behavior.
            </summary>
      <remarks>
            The default value for this property is <see cref="F:C1.Win.C1FlexGrid.EditFlags.All" />, which enables
            all editing options. See the <see cref="T:C1.Win.C1FlexGrid.EditFlags" /> enumeration for a list of 
            options available.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.IsCellCursor(System.Int32,System.Int32)">
      <summary>
            Gets a value that determines if a cell contains the grid cursor.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the cell contains the cursor, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.IsCellFixed(System.Int32,System.Int32)">
      <summary>
            Gets a value that determines if a cell belongs to a fixed row or column.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the cell is fixed, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.IsCellSelected(System.Int32,System.Int32)">
      <summary>
            Gets a value that determines if a cell is selected.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the cell is selected, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.IsCellValid(System.Int32,System.Int32)">
      <summary>
            Gets a value that determines if a pair of cell coordinates are valid.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the cell coordinates are valid, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.IsCellHighlighted(System.Int32,System.Int32)">
      <summary>
            Gets a value that determines if a cell is part of the selection and should be highlighted.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the cell should be highlighted, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.IsCellCheckBox(System.Int32,System.Int32)">
      <summary>
            Gets a value that determines whether the cell contents are displayed as a checkbox.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>True if the cell contents should be displayed as a checkbox, false otherwise.</returns>
      <remarks>
        <para>Boolean values are displayed as check boxes unless one of the following conditions is true:</para>
        <para>1) The cell has an associated <see cref="P:C1.Win.C1FlexGrid.RowCol.DataMap" />. In this case the values specified 
            in the <b>DataMap</b> are displayed instead of check boxes.</para>
        <para>2) The cell has a multi-part <see cref="P:C1.Win.C1FlexGrid.RowCol.Format" /> string (such as "yes;no"). In this case
            the <b>Format</b> is used instead of check boxes.</para>
        <para>3) The cell belongs to a subtotal row and does not contain a Boolean value.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.UseCompatibleTextRendering">
      <summary>
            Specifies whether text rendering should be compatible with previous releases of WinForms.
            </summary>
      <remarks>
        <para>This property determines whether the control should render text using the <see cref="T:System.Drawing.Graphics" /> 
            class (compatible with previous versions), or the new <see cref="T:System.Windows.Forms.TextRenderer" /> class 
            (available in .NET 2.0 and later).</para>
        <para>The <see cref="T:System.Windows.Forms.TextRenderer" /> class supports complex scripts and Uniscribe APIs, making 
            it better suited for some international applications.</para>
        <para>However, the <see cref="T:System.Windows.Forms.TextRenderer" /> class seems to render about 25% slower than the 
            traditional method.</para>
        <para>You may want to try both modes and select the one that matches the appearance of other 
            controls and forms in your application.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboBoxEditor">
      <summary>
            Gets a <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboBoxEditor" /> object that provides easy access to properties of the currently
            active <b>ComboBox</b> editor.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboBoxEditor" /> object can be used to get and set properties on the currently 
            active <b>ComboBox</b> editor without casting the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> property.</para>
        <para>If no editor is active, or if the editor is not a <see cref="T:System.Windows.Forms.ComboBox" />, these properties 
            return null or -1, and cannot be set.</para>
      </remarks>
      <example>
            The code below shows two equivalent ways of accessing the selected index of the currently active <b>ComboBox</b> editor:
            <code>
            // with the ComboBoxEditor property:
            Console.WriteLine("The current combo index is {0}",
                _flex.ComboBoxEditor.SelectedIndex);
            
            // without the ComboBoxEditor property:
            ComboBox cb = _flex.Editor as ComboBox;
            int index = (cb != null) ? cb.SelectedIndex : -1;
            Console.WriteLine("The current combo index is {0}",
                index);
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ScrollOptions">
      <summary>
            Gets or sets a <see cref="T:C1.Win.C1FlexGrid.ScrollFlags" /> value that specifies the grid scrolling behavior.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.PreserveEditMode">
      <summary>
            Gets or sets flag that specify entering edit mode of cell after exiting from previous cell with arrow keys or tab key.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.C1SuperErrorProvider">
      <summary>
            Gets or sets an C1SuperErrorProvider object used to indicate error state of the control.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.WriteXml(System.String)">
      <summary>
            Saves the grid contents to an Xml document.
            </summary>
      <param name="fileName">Name of the file to save, including the path.</param>
      <remarks>
        <para>The grid serializes all its contents into the Xml document, including the 
            data stored in the cells, row and column properties, styles, images, etc.</para>
        <para>Objects of custom types stored in the grid are also serialized as long as
            they have an associated <see cref="T:System.ComponentModel.TypeConverter" /> that provides conversions to
            and from string.</para>
        <para>The <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.WriteXml(System.String)" /> method has several overloads that allow you to 
            save several grids into a single Xml document, along with other information stored
            in the Xml document.</para>
      </remarks>
      <example>
            The code below saves a grid into an Xml file:
            <code>
            // save a grid into am Xml file
            flex.WriteXml(fileName);
            </code>
            The code below saves two grids into an Xml file, then reads them back in reverse order:
            <code>
            // prepare XmlTextWriter
            XmlTextWriter w = new XmlTextWriter(fileName, new UTF8Encoding(false));
            w.Formatting = Formatting.Indented;
            w.WriteStartDocument();
            w.WriteStartElement("Grids");
            
            // save first grid
            w.WriteStartElement(c1FlexGrid1.Name);
            c1FlexGrid1.WriteXml(w);
            w.WriteEndElement();
            
            // save second grid
            w.WriteStartElement(c1FlexGrid2.Name);
            c1FlexGrid2.WriteXml(w);
            w.WriteEndElement();
            
            // close document
            w.WriteEndElement();
            w.Close();
            
            // load document from file
            XmlDocument doc = new XmlDocument();
            doc.Load(fileName);
            XmlNode n = doc.SelectSingleNode("Grids");
            
            // load grids in reverse order
            c1FlexGrid2.ReadXml(n.ChildNodes[0]);
            c1FlexGrid1.ReadXml(n.ChildNodes[1]);
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.WriteXml(System.IO.TextWriter)">
      <summary>
            Saves the grid contents to an Xml document.
            </summary>
      <param name="tw">The <see cref="T:System.IO.TextWriter" /> where the document is saved.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.WriteXml(System.IO.Stream)">
      <summary>
            Saves the grid contents to an Xml document.
            </summary>
      <param name="stream">The <see cref="T:System.IO.Stream" /> where the document is saved.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.WriteXml(System.Xml.XmlTextWriter)">
      <summary>
            Saves the grid contents to an Xml document.
            </summary>
      <param name="w">The <see cref="T:System.Xml.XmlTextWriter" /> where the document is saved.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ReadXml(System.String)">
      <summary>
            Loads the grid from an Xml document.
            </summary>
      <param name="fileName">Name of the file to load, including the path.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ReadXml(System.IO.TextReader)">
      <summary>
            Loads the grid from an Xml document.
            </summary>
      <param name="tr">
        <see cref="T:System.IO.TextReader" /> object to use for loading the grid.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ReadXml(System.IO.Stream)">
      <summary>
            Loads the grid from an Xml document.
            </summary>
      <param name="stream">
        <see cref="T:System.IO.Stream" /> object to use for loading the grid.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ReadXml(System.Xml.XmlReader)">
      <summary>
            Loads the grid from an Xml document.
            </summary>
      <param name="xr">
        <see cref="T:System.Xml.XmlReader" /> object to use for loading the grid.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ReadXml(System.Xml.XmlDocument)">
      <summary>
            Loads the grid from an Xml document.
            </summary>
      <param name="doc">
        <see cref="T:System.Xml.XmlDocument" /> object to use for loading the grid.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ReadXml(System.Xml.XmlNode)">
      <summary>
            Loads the grid from an Xml document.
            </summary>
      <param name="node">
        <see cref="T:System.Xml.XmlNode" /> object to use for loading the grid.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnGridChanged(System.Object,C1.Win.C1FlexGrid.GridChangedEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridChanged" /> event.
            </summary>
      <param name="sender">Object raising the event.</param>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.GridChangedEventArgs" /> that contains event data.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ScrollableRectangle">
      <summary>
            Gets a rectangle that defines the scrollable portion of the control.
            </summary>
      <remarks>
            The value returned corresponds to the control's client area minus any fixed 
            and frozen rows and columns.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.BuildScrollableRectangle(System.Int32,System.Int32)">
      <summary>
            Builds a rectangle that defines the scrollable portion of the control for a given pair of scroll offsets.
            </summary>
      <param name="dx">Horizontal scroll offset.</param>
      <param name="dy">Vertical scroll offset.</param>
      <returns>A <see cref="T:System.Drawing.Rectangle" /> that defines the scrollable portion of the control.</returns>
      <remarks>
            This method is for internal use. It allows derived classes to customize the control scrolling behavior.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnVisibleChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.VisibleChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnRightToLeftChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.RightToLeftChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnSizeChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.SizeChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnPaint(System.Windows.Forms.PaintEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.Paint" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
      <summary>
            Paints the control background.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains information about the control to paint.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnThemeChanged">
      <summary>
            Called when the control receives a WM_THEMECHANGED message.
            </summary>
      <remarks>
            The WM_THEMECHANGED message is broadcast to every window following a 
            theme change event. Examples of theme change events are the activation of a 
            theme, the deactivation of a theme, or a transition from one theme to another. 
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.BackColor">
      <summary>
            Gets or sets the background color for the control.
            </summary>
      <remarks>
            This is the color used to paint the background of the scrollable cells, also defined by the
            <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Normal" /> cell style.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ForeColor">
      <summary>
            Gets or sets the foreground color for the control.
            </summary>
      <remarks>
            This is the color used to paint the text in scrollable cells, also defined by the
            <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Normal" /> cell style.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnBackColorChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.BackColorChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnForeColorChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.ForeColorChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnFontChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.FontChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnChangeScrollBarPosition(System.Int32,System.Boolean,System.Int32,System.Int32)">
      <summary>
            Calculates the new position of a scrollbar in response to a user command.
            </summary>
      <param name="cmd">Scroll command (SB_LINEUP, etc).</param>
      <param name="verticalBar">True for the vertical scrollbar, false for the horizontal scrollbar.</param>
      <param name="curPos">Current scrollbar position.</param>
      <param name="trackPos">Scrollbar thumb position.</param>
      <returns>The new position for the scrollbar.</returns>
      <remarks>
            Derived classes may override this method to customize the scrolling behavior.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnValidating(System.ComponentModel.CancelEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.Validating" /> event.
            </summary>
      <param name="e">A <see cref="T:System.ComponentModel.CancelEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnValidated(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowValidated" /> event.
            </summary>
      <param name="e">
        <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowValidating">
      <summary>
            Fires when a row is losing focus and needs to be validated.
            </summary>
      <remarks>
        <para>This event is analogous to the <see cref="E:System.Windows.Forms.Control.Validating" /> event.</para>
        <para>Use this event to perform validation on all the values of a row.
            If the row does not pass validation, set the <see cref="F:C1.Win.C1FlexGrid.RowColEventArgs.Cancel" /> property to true.</para>
        <para>Canceling this event prevents the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowValidated" /> event from occurring, 
            and also prevents the user from leaving the invalid row.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnRowValidating(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowValidating" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowValidated">
      <summary>
            Fires after a row lost focus and has been validated.
            </summary>
      <remarks>
        <para>This event is analogous to the <see cref="E:System.Windows.Forms.Control.Validated" /> event.</para>
        <para>Use this event to perform post-processing on a row of values.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnRowValidated(C1.Win.C1FlexGrid.RowColEventArgs)">
      <summary>
            Raises the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.RowValidated" /> event.
            </summary>
      <param name="e">A <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.MoveSelection(C1.Win.C1FlexGrid.MoveCursorEnum,System.Boolean)">
      <summary>
            Moves or extends the current selection.
            </summary>
      <param name="move">
        <see cref="T:C1.Win.C1FlexGrid.MoveCursorEnum" /> value that specifies the type of cursor movement.</param>
      <param name="extend">Whether to extend the current selection.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.MoveSelection(C1.Win.C1FlexGrid.MoveCursorEnum,System.Boolean,System.Int32,System.Int32)">
      <summary>
            Moves or extends the selection from a given cell.
            </summary>
      <param name="move">
        <see cref="T:C1.Win.C1FlexGrid.MoveCursorEnum" /> value that specifies the type of cursor movement.</param>
      <param name="extend">Whether to extend the current selection.</param>
      <param name="row">Row index for the initial selection.</param>
      <param name="col">Column index for the initial selection.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.CheckNodeChildren(System.Int32,System.Int32,System.Int32)">
      <summary>
            Gets a value that indicates what types of child nodes a row has.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize outline trees.
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="level">Outline level.</param>
      <returns>Zero if the row has no children, 1 if it has regular data rows only, 
            2 if it has child nodes, and 3 if it has data and child nodes.
            </returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRectDisplay(System.Int32,System.Int32,System.Boolean,System.Boolean)">
      <summary>
            Gets a rectangle representing the coordinates of a cell, row, or column.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the way cell geometry
            is calculated.
            </remarks>
      <param name="row">Row index (or -1 to get column bounds).</param>
      <param name="col">Column index (or -1 to get row bounds).</param>
      <param name="clipHorz">Whether the rectangle should be horizontally clipped to the grid's client area.</param>
      <param name="clipVert">Whether the rectangle should be vertically clipped to the grid's client area.</param>
      <returns>A <see cref="T:System.Drawing.Rectangle" /> containing the display area for the row, column, or cell,
            in client coordinates and accounting for scroll position.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRectDisplay(System.Int32,System.Int32)">
      <summary>
            Gets a rectangle representing the coordinates of a cell, row, or column.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the way cell geometry
            is calculated.
            </remarks>
      <param name="row">Row index (or -1 to get column bounds).</param>
      <param name="col">Column index (or -1 to get row bounds).</param>
      <returns>A <see cref="T:System.Drawing.Rectangle" /> containing the display area for the row, column, or cell, 
            in client coordinates and accounting for scroll position.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRectEditor(System.Int32,System.Int32)">
      <summary>
            Gets a rectangle representing the coordinates of a cell editor.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the way cell geometry
            is calculated. 
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>Rectangle used to position the cell editor.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.DrawRow(System.Windows.Forms.PaintEventArgs,System.Int32)">
      <summary>
            Draws a grid row.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains a <see cref="T:System.Drawing.Graphics" />
            object where the row will be drawn.</param>
      <param name="row">Index of the row to draw.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.DrawCell(System.Windows.Forms.PaintEventArgs,System.Int32,System.Int32)">
      <summary>
            Draws a grid cell.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains a <see cref="T:System.Drawing.Graphics" />
            object where the cell will be drawn.</param>
      <param name="row">Index of the cell's row.</param>
      <param name="col">Index of the cell's column.</param>
      <returns>The index of the last column painted (may be greater than <paramref name="col" /> 
            if columns are merged).</returns>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetHeaderThemeState(System.Int32,System.Int32)">
      <summary>
            Gets the state for a Windows Xp theme while the mouse moves over a cell.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the 
            hot-tracking behavior. 
            </remarks>
      <param name="row">Row under the mouse.</param>
      <param name="col">Column under the mouse.</param>
      <returns>An integer representing the item state (2 for hot-tracking, 1 for normal).</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellGlyphs(System.Int32,System.Int32,System.Drawing.Rectangle,System.Drawing.Image@,System.Drawing.Image@,System.Drawing.Image@)">
      <summary>
            Gets a cell glyph to show in a cell.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the display of the sorting glyphs. 
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="rc">Cell rectangle</param>
      <param name="glyphSort">Glyph to display above the cell content.</param>
      <param name="glyphLeft">Glyphs to display on the left of the cell.</param>
      <param name="glyphRight">Glyphs to display on the right of the cell.</param>
      <returns>True if any glyphs were assigned to the cell, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellCheck(System.Int32,System.Int32)">
      <summary>
            Gets the state of the checkbox in a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <returns>One of the values in the <see cref="T:C1.Win.C1FlexGrid.CheckEnum" /> enumeration.</returns>
      <remarks>
        <para>By default, the grid displays values in Boolean columns as check boxes (the column's
            data type determined by the <see cref="P:C1.Win.C1FlexGrid.RowCol.DataType" /> property). If you don't want Boolean 
            values displayed as check boxes, set the column's <see cref="P:C1.Win.C1FlexGrid.RowCol.Format" /> property to a 
            string containing the values that should be displayed for True and False values, separated by
            a semi-colon. For example:</para>
        <code>
            flex.Cols["CheckBoxes"].DataType = typeof(bool);
            flex.Cols["yesNo"].DataType = typeof(bool);
            flex.Cols["yesNo"].Format := "Yes;No";
            </code>
        <para>In unbound mode, you can use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellCheck(System.Int32,System.Int32)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellCheck(System.Int32,System.Int32,C1.Win.C1FlexGrid.CheckEnum)" /> 
            methods to add check boxes to any cells. The check boxes will be displayed along with any text in 
            the cell, and you can set their position using the column's <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageAlign" /> property.</para>
        <para>There are two types of check boxes: Boolean and tri-state. Boolean check boxes toggle between 
            the <see cref="F:C1.Win.C1FlexGrid.CheckEnum.Checked" /> and <see cref="F:C1.Win.C1FlexGrid.CheckEnum.Unchecked" /> states. Tri-state check 
            boxes cycle through the settings <see cref="F:C1.Win.C1FlexGrid.CheckEnum.TSChecked" />, <see cref="F:C1.Win.C1FlexGrid.CheckEnum.TSUnchecked" />, 
            and <see cref="F:C1.Win.C1FlexGrid.CheckEnum.TSGrayed" />.</para>
        <para>For example, the code below creates a Boolean checkbox in cell (3,3) and a tri-state checkbox 
            in cell (4,3):</para>
        <code>
            flex.SetCellCheck(3, 3, CheckEnum.Unchecked)   // Boolean;
            flex.SetCellCheck(4, 3, CheckEnum.TSUnchecked) // tri-state;
            </code>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellCheck(System.Int32,System.Int32,C1.Win.C1FlexGrid.CheckEnum)">
      <summary>
            Sets the state of the checkbox in a grid cell.
            </summary>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="check">
        <see cref="T:C1.Win.C1FlexGrid.CheckEnum" /> value to assign to the cell.</param>
      <remarks>
            For details and examples, see the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellCheck(System.Int32,System.Int32)" /> method.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.SetCellCheckEdit(System.Int32,System.Int32,C1.Win.C1FlexGrid.CheckEnum)">
      <summary>
            Applies a <see cref="T:C1.Win.C1FlexGrid.CheckEnum" /> value to a cell or cell range.
            </summary>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the way checkbox 
            data is applied to the cells when cells are edited. 
            </remarks>
      <param name="row">Row index.</param>
      <param name="col">Column index.</param>
      <param name="check">Value to apply to the cell.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)">
      <summary>
            Adjusts the width of a column range to fit the data in a cell range.
            </summary>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <param name="extraSpace">Amount of extra space, in pixels, to add to the column widths.</param>
      <param name="flags">Flags that control auto-sizing options.</param>
      <remarks>
        <para>By default, the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> method measures every cell in each column, 
            taking into account the cell contents and style.</para>
        <para>If the grid has a large number of rows, you can improve performance by using the 
            <paramref name="topRow" /> and <paramref name="bottomRow" /> parameters to specify a row range. 
            You can include only a few hundred rows in the process, and add some extra spacing for safety.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols">
      <summary>
            Adjusts the width of all columns to fit the data.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32)">
      <summary>
            Adjusts the width of columns in a range to fit the data.
            </summary>
      <param name="leftCol">Left column in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <param name="extraSpace">Amount of extra space, in pixels, to add to the column widths.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32)">
      <summary>
            Adjusts the width of all columns fit the data.
            </summary>
      <param name="extraSpace">Amount of extra space, in pixels, to add to the column widths.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCol(System.Int32)">
      <summary>
            Adjusts the width of a column to fit the data.
            </summary>
      <param name="col">Column index.</param>
      <remarks>
            This method measures every cell in the column, taking into account the cell contents and style. 
            If the grid has a large number of rows, consider using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> 
            method instead, because it allows you to specify a smaller set of rows and columns to measure.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCol(System.Int32,System.Int32)">
      <summary>
            Adjusts the width of a column to fit the data.
            </summary>
      <param name="col">Column index.</param>
      <param name="extraSpace">Amount of extra space, in pixels, to add to the column widths.</param>
      <remarks>
            This method measures every cell in the column, taking into account the cell contents and style. 
            If the grid has a large number of rows, consider using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> 
            method instead, because it allows you to specify a smaller set of rows and columns to measure.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeRows(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)">
      <summary>
            Adjusts the height of a row range to fit the data in a cell range.
            </summary>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <param name="extraSpace">Amount of extra space, in pixels, to add to the column widths.</param>
      <param name="flags">Flags that control auto-sizing options.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeRows">
      <summary>
            Adjusts the height of all rows to fit the data.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeRow(System.Int32)">
      <summary>
            Adjusts the height of a row to fit the data.
            </summary>
      <param name="row">Row index.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Drawing.Graphics,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)">
      <summary>
            Automatically size grid columns to fit the largest entry.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object used to measure the cell contents.</param>
      <param name="row1">Index of the first row to be measured.</param>
      <param name="col1">Index of the first column to be measured.</param>
      <param name="row2">Index of the last row to be measured.</param>
      <param name="col2">Index of the first column to be measured.</param>
      <param name="extra">Extra space, in twips, to add to the largest entry.</param>
      <param name="flags">
        <see cref="T:C1.Win.C1FlexGrid.AutoSizeFlags" /> value that specifies auto-sizing behavior.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeRows(System.Drawing.Graphics,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)">
      <summary>
            Automatically size grid columns to fit the largest entry.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object used to measure the cell contents.</param>
      <param name="row1">Index of the first row to be measured.</param>
      <param name="col1">Index of the first column to be measured.</param>
      <param name="row2">Index of the last row to be measured.</param>
      <param name="col2">Index of the first column to be measured.</param>
      <param name="extra">Extra space, in twips, to add to the largest entry.</param>
      <param name="flags">
        <see cref="T:C1.Win.C1FlexGrid.AutoSizeFlags" /> value that specifies auto-sizing behavior.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid appearance. 
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.SortColumn">
      <summary>
            Gets a reference to the column that defines the current sort applied to the grid.
            </summary>
      <remarks>
        <para>The grid may be sorted by a call to the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method, by a user clicking
            a column header, or as a result of sorting applied directly to the object that is being
            used as the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.DataSource" />.</para>
        <para>To determine the current sort direction, use the sorted column's <see cref="P:C1.Win.C1FlexGrid.Column.Sort" />
            property.</para>
        <para>If the grid is not currently sorted, this property returns null.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ShowThemedHeaders">
      <summary>
            Gets or sets whether the control should use Xp themes for displaying row or column headers.
            </summary>
      <remarks>
        <para>This property only has an effect if the application is themed. To enable themes for
            an application, you can either call the <b>Application.EnableVisualStyles</b> method or use 
            a manifest file. Please refer to MSDN for details.</para>
        <para>Setting the <see cref="T:System.Windows.Forms.BorderStyle" /> property to <b>BorderStyleEnum.XpThemes</b> 
            automatically sets this property to <b>ShowThemedHeadersEnum.Both.</b></para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnHandleDestroyed(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.HandleDestroyed" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnGotFocus(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.GotFocus" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnLeave(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.Leave" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnLostFocus(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.LostFocus" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.IsInputKey(System.Windows.Forms.Keys)">
      <summary>
            Determines whether the specified key is a regular input key or a special 
            key that requires preprocessing.
            </summary>
      <param name="keyData">One of the <see cref="T:System.Windows.Forms.Keys" /> values.</param>
      <returns>True if the specified key is a regular input key, False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.IsInputChar(System.Char)">
      <summary>
            Determines if a character is an input character that the control recognizes.
            </summary>
      <param name="charCode">The character to test.</param>
      <returns>True if the character should be sent directly to the control and not preprocessed, False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnKeyDown(System.Windows.Forms.KeyEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.KeyDown" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.KeyEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnKeyPress(System.Windows.Forms.KeyPressEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.KeyPress" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.KeyPressEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnMouseLeave(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.MouseLeave" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.MouseMove" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.MouseEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.MouseDown" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.MouseEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.MouseUp" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.MouseEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDoubleClick(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.DoubleClick" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnScroll(System.Windows.Forms.ScrollBars)">
      <summary>
            Called when the grid contents scroll.
            </summary>
      <param name="sb">
        <see cref="T:System.Windows.Forms.ScrollBars" /> value that specifies the scroll direction.</param>
      <remarks>
            This method is for internal use. It allows inherited classes to customize the grid scrolling behavior. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnScrollTip(System.Int32)">
      <summary>
            Called when the grid contents scroll vertically, to update the value of the scroll tip.
            </summary>
      <param name="newValue">New value for the vertical scroll bar.</param>
      <remarks>
            This method processes the new scroll position and calls <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnShowScrollTip(C1.Win.C1FlexGrid.ToolTipEventArgs)" />.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDragEnter(System.Windows.Forms.DragEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.DragEnter" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.DragEventArgs" /> that contains event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDragOver(System.Windows.Forms.DragEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.DragOver" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.DragEventArgs" /> that contains event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnDragDrop(System.Windows.Forms.DragEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.DragDrop" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.DragEventArgs" /> that contains event data.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.VisualStyle">
      <summary>
            Gets or sets a value that determines the overall appearance of the control.
            </summary>
      <remarks>
        <para>This property allows you to quickly customize the appearance of the grid so
            it matches the appearance of your application.</para>
        <para>The settings available include <b>System</b>, various Microsoft Office color 
            schemes, and <b>Custom</b>, which relies on the control's standard styles and 
            appearance properties.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ShouldSerializeVisualStyle">
      <summary>
            Gets a value that determines whether the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.VisualStyle" /> 
            property is set explicitly and should be persisted.
            </summary>
      <returns>True if the property was explicitly set by the user.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ResetVisualStyle">
      <summary>
            Resets the value of the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.VisualStyle" /> ambient property.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.OnAmbientChangedVisualStyle">
      <summary>
            Method invoked when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.VisualStyle" /> property changes.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Renderer">
      <summary>
            Gets or sets a <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" /> used to customize the look and
            feel of the control.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetRenderer">
      <summary>
            Gets the current <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" />.
            </summary>
      <returns>
      </returns>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.NewRowWatermark">
      <summary>
            Gets or sets a string that is displayed over the new row template
            when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowAddNew" /> property is set to true.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipboardCopyMode">
      <summary>
            Gets or sets what parts of the grid are copied to the clipboard when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoClipboard" />
            property is set to true.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Copy">
      <summary>
            Copies the current selection to the clipboard.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Cut">
      <summary>
            Cuts the content of the current selection to the clipboard.
            </summary>
      <remarks>
            This command copies the current selection to the clipboard, then deletes
            the editable content within the selection.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.Paste">
      <summary>
            Pastes the content of the clipboard onto the current selection.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFiltering">
      <summary>
            Gets or sets whether the user is allowed to filter the data.
            </summary>
      <remarks>
        <para>When this property is set to true, the grid displays filter icons
            on the column headers. Users may click the icons to define filters to be
            applied to the data.</para>
        <para>When a filter is applied, the grid hides rows that don't match the
            filter by setting their <see cref="P:C1.Win.C1FlexGrid.RowCol.Visible" /> property to false. The
            filter is not applied to the data source.</para>
        <para>You may specify the type of filter to use for each individual column
            by setting the columns <see cref="P:C1.Win.C1FlexGrid.Column.AllowFiltering" /> property.</para>
        <para>You may also create custom filters by creating classes the implement
            the <see cref="T:C1.Win.C1FlexGrid.IC1ColumnFilter" /> interface and assigning instances of that
            class to the column's <see cref="P:C1.Win.C1FlexGrid.Column.Filter" /> property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.IgnoreDiacritics">
      <summary>
            Gets or sets a value that determines whether the filter should ignore diacritics
            (accents) when comparing values.
            </summary>
      <remarks>
        <para>By default, the filter compares values as they appear in the data source. 
            For example, if you are looking for values that contain the string "fac", you 
            will find "factory" but not "façade".</para>
        <para>If you set this property to true, the filter will remove any diacritics
            before performing the comparisons. In this case, looking for the string "fac"
            will return both "factory" and "façade".</para>
        <para>This property is especially useful in applications localized for languages
            that contain many accents, such as French, Spanish, Portuguese, etc.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.FilterDefinition">
      <summary>
            Gets or sets an XML string containing the current filter state.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ApplyFilters">
      <summary>
            Applies all column filters to the data on the grid.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.EditFilter(System.Int32)">
      <summary>
            Edits the filter associated with a given column.
            </summary>
      <param name="col">Index of the column whose filter should be edited.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.EditFilter(C1.Win.C1FlexGrid.Column)">
      <summary>
            Edits the filter associated with a given column.
            </summary>
      <param name="col">
        <see cref="T:C1.Win.C1FlexGrid.Column" /> whose filter should be edited.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ClearFilter(System.Int32)">
      <summary>
            Clears the filter associated with a given column.
            </summary>
      <param name="col">Index of the column whose filter should be cleared.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ClearFilter(C1.Win.C1FlexGrid.Column)">
      <summary>
            Clears the filter associated with a given column.
            </summary>
      <param name="col">
        <see cref="T:C1.Win.C1FlexGrid.Column" /> whose filter should be cleared.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ClearFilter">
      <summary>
            Clears all column filters.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ApplySearch(System.String,System.Boolean,System.Boolean,System.Boolean)">
      <summary>
            Applies search to the data on the grid.
            </summary>
      <param name="search">Words which will be searched.</param>
      <param name="highlight">Defines will search results be highlighted or not.</param>
      <param name="filter">Defines will search results be filtered or not.</param>
      <param name="onlyVisibleColumns">Defines will perform search through only visible columns or not.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ApplySearch(System.String,System.Boolean,System.Boolean)">
      <summary>
            Applies search to the data on the grid.
            </summary>
      <param name="search">Words which will be searched.</param>
      <param name="highlight">Defines will search results be highlighted or not.</param>
      <param name="filter">Defines will search results be filtered or not.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridBase.ApplySearch(System.String)">
      <summary>
            Applies search to the data on the grid.
            </summary>
      <param name="search">Words which will be searched.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridBase.Language">
      <summary>
            Gets or sets the language to use when localizing the column filters.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.SortFlags">
      <summary>
            Specifies how grid columns should be sorted.
            </summary>
      <remarks>
            This enumeration contains flags that can be combined to customize the sorting process.
            </remarks>
      <example>
            For example, the code below sorts two grid columns ignoring case.
            <code>
            // C#
            SortFlags order = SortFlags.Ascending | SortFlags.IgnoreCase;
            _flex.Sort(order, col1, col2);
            
            ' VB
            Dim order As SortFlags = SortFlags.Ascending Or SortFlags.IgnoreCase
            _flex.Sort(order, col1, col2)
            </code></example>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortFlags.None">
      <summary>
            Do not sort. This setting is useful for skipping certain columns when sorting column ranges.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortFlags.Ascending">
      <summary>
            Sort in ascending order.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortFlags.Descending">
      <summary>
            Sort in descending order.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortFlags.AsDisplayed">
      <summary>
            Sort using the string representation of the data. In this mode, "100" appears before "2".
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortFlags.IgnoreCase">
      <summary>
            Ignore case when sorting strings.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortFlags.UseColSort">
      <summary>
            Use the flags stored in the <see cref="P:C1.Win.C1FlexGrid.Column.Sort" /> property of individual <see cref="T:C1.Win.C1FlexGrid.Column" /> objects.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ClearFlags">
      <summary>
            Specifies which elements of the grid should be cleared by the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Clear(C1.Win.C1FlexGrid.ClearFlags,C1.Win.C1FlexGrid.CellRange)" /> method.
            </summary>
      <remarks>
            This enumeration contains flags that can be combined to customize the sorting process.
            </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClearFlags.Content">
      <summary>
            Clear cell content, including data, images, and check boxes if any.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClearFlags.Style">
      <summary>
            Clear custom styles assigned to cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClearFlags.UserData">
      <summary>
            Clear user data associated with cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ClearFlags.All">
      <summary>
            All of the above.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.CheckEnum">
      <summary>
            Specifies the type of checkbox to draw in a cell.
            </summary>
      <remarks>
        <para>There are two types of check boxes: regular and tri-state.</para>
        <para>Regular check boxes are used to display simple Boolean values.
            They cycle through settings <c>Checked</c> and <c>Unchecked</c> when clicked with the mouse.</para>
        <para>Tri-state check boxes are used to display values that may be true, false, or 
            indeterminate (grayed). They cycle through settings <c>TSChecked</c>, <c>TSGrayed</c>, and 
            <c>TSUnchecked</c> when clicked with the mouse.</para>
        <para>Visually, <c>Checked</c> and <c>Unchecked</c> look the same as <c>TSChecked</c> and <c>TSUnchecked</c>.</para>
      </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CheckEnum.None">
      <summary>
            No check box.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CheckEnum.Checked">
      <summary>
            Check box with a check mark in it.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CheckEnum.Unchecked">
      <summary>
            Empty check box.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CheckEnum.Grayed">
      <summary>
            Check box in undefined state.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CheckEnum.TSChecked">
      <summary>
            Tri-state check box with a check mark in it.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CheckEnum.TSUnchecked">
      <summary>
            Tri-state empty check box.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CheckEnum.TSGrayed">
      <summary>
            Tri-state check box in undefined state.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AggregateEnum">
      <summary>
            Specifies the type of aggregate function to calculate with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,C1.Win.C1FlexGrid.CellRange,C1.Win.C1FlexGrid.AggregateFlags)" /> and 
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> methods.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.None">
      <summary>
            No aggregate. This setting is used with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method to create an 
            outline tree without any numerical aggregates.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Clear">
      <summary>
            Clear existing aggregates. This setting is used with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method 
            to clear any existing subtotals, usually before calculating new subtotals.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Sum">
      <summary>
            Returns the sum of all values in the range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Percent">
      <summary>
            Percent of grand total. This setting is used with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method to 
            calculate the percentage of the grand total represented by each sub group. (This setting can't 
            be used with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,C1.Win.C1FlexGrid.CellRange,C1.Win.C1FlexGrid.AggregateFlags)" /> method).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Count">
      <summary>
            Returns the count of non-empty cells in a range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Average">
      <summary>
            Returns the average value of the non-empty cells in a range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Max">
      <summary>
            Returns the maximum value in a range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Min">
      <summary>
            Returns the minimum value in a range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Std">
      <summary>
            Returns the sample standard deviation of the values in a range (uses the formula based on n-1).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.Var">
      <summary>
            Returns the sample variance of the values in a range (uses the formula based on n-1).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.StdPop">
      <summary>
            Returns the population standard deviation of the values in a range (uses the formula based on n).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateEnum.VarPop">
      <summary>
            Returns the population variance of the values in a range (uses the formula based on n).
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AggregateFlags">
      <summary>
            Specifies options to use when calculating aggregates with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Aggregate(C1.Win.C1FlexGrid.AggregateEnum,C1.Win.C1FlexGrid.CellRange,C1.Win.C1FlexGrid.AggregateFlags)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateFlags.None">
      <summary>
            Default setting. Include all rows and use numerical values only.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateFlags.ExcludeNodes">
      <summary>
            Exclude node rows from aggregate. This option is useful when the grid contains subtotal rows, 
            which are marked as nodes and contain values that are subtotals and should thus be excluded 
            from aggregates.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateFlags.AggregateDates">
      <summary>
            Calculate aggregates for dates instead of numerical values. Only a few aggregate functions 
            are meaningful for dates: count, maximum, and minimum.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateFlags.AggregateBooleans">
      <summary>
            Calculate aggregates for Boolean values. This flag causes the value True to be interpreted as one,
            and False as zero. This option is useful for counting the number of checked check boxes in a range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateFlags.ExcludeHiddenCells">
      <summary>
            Exclude hidden rows and columns from the aggregate.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateFlags.ExcludeCollapsedCells">
      <summary>
            Exclude collapsed rows from the aggregate.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AggregateFlags.ExcludeHiddenRows">
      <summary>
            Exclude hidden rows from the aggregate.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.SubtotalPositionEnum">
      <summary>
            Specifies whether subtotals rows created with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method should be
            inserted above or below the data they refer to.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalPositionEnum.AboveData">
      <summary>
            Subtotal rows are inserted above the data (tree-style).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalPositionEnum.BelowData">
      <summary>
            Subtotal rows are inserted below the data (spreadsheet-style).
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridChangedTypeEnum">
      <summary>
            Specifies the type of change that occurred when the controls fires the 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridChanged" /> event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.None">
      <summary>
            No action.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.GridChanged">
      <summary>
            The number of grid rows or columns has changed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.LayoutChanged">
      <summary>
            The number of fixed grid rows or columns has changed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.StyleChanged">
      <summary>
            A style definition has changed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.StyleApplied">
      <summary>
            A style has been applied to a range.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.RepaintGrid">
      <summary>
            The grid has been invalidated and will be repainted.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.CellChanged">
      <summary>
            The value in a cell has changed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.RepaintRange">
      <summary>
            A range has been invalidated and will be repainted.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.Update">
      <summary>
            The grid will be repainted.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.BeforeCollapse">
      <summary>
            A tree node is about to be collapsed or expanded.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.AfterCollapse">
      <summary>
            A tree node has just been collapsed or expanded.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.EnsureVisible">
      <summary>
            A tree node will be scrolled into view.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.Select">
      <summary>
            A tree node will be selected.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.RowMoved">
      <summary>
            A row has been moved into a new position.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.RowAdded">
      <summary>
            A row has been added to the grid.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.RowRemoved">
      <summary>
            A row has been removed from the grid.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.RowSelected">
      <summary>
            A row has been selected or de-selected.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.ColMoved">
      <summary>
            A column has been moved into a new position.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.ColAdded">
      <summary>
            A column has been added to the grid.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.ColRemoved">
      <summary>
            A column has been removed from the grid.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.ColSelected">
      <summary>
            A column has been selected or de-selected.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.BeforeSelChange">
      <summary>
            The selection is about to change.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedTypeEnum.AfterSelChange">
      <summary>
            The selection has just changed.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridChangedEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridChanged" /> event.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridChangedEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridChanged" /> event handler.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedEventArgs.GridChangedType">
      <summary>
            The type of action that caused the event to fire.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedEventArgs.r1">
      <summary>
            Range of cells affected by the event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedEventArgs.c1">
      <summary>
            Range of cells affected by the event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedEventArgs.r2">
      <summary>
            Range of cells affected by the event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridChangedEventArgs.c2">
      <summary>
            Range of cells affected by the event.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.CellRange">
      <summary>
            Represents cell ranges, allowing the caller to set properties for multiple cells
            with a single statement.
            </summary>
      <remarks>
        <para>The <see cref="T:C1.Win.C1FlexGrid.CellRange" /> structure does not have a public constructor. To create a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> 
            object, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRange(System.Int32,System.Int32)" /> method.</para>
        <para>Note that <see cref="T:C1.Win.C1FlexGrid.CellRange" /> is a structure, not a class. This means the object is used as a value, 
            not as a reference. If you pass a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> to a method and change the object within that method, 
            the original value is not modified.</para>
        <para>Ranges are defined by two rows and two columns (<see cref="F:C1.Win.C1FlexGrid.CellRange.r1" />, <see cref="F:C1.Win.C1FlexGrid.CellRange.c1" />, <see cref="F:C1.Win.C1FlexGrid.CellRange.r2" />, and
            <see cref="F:C1.Win.C1FlexGrid.CellRange.c2" />). These values do not have to be in order (<see cref="F:C1.Win.C1FlexGrid.CellRange.r1" /> may be smaller or greater than 
            <see cref="F:C1.Win.C1FlexGrid.CellRange.r2" />). To obtain the values in order, use the <see cref="M:C1.Win.C1FlexGrid.CellRange.Normalize" /> method or the <see cref="P:C1.Win.C1FlexGrid.CellRange.TopRow" />,
            <see cref="P:C1.Win.C1FlexGrid.CellRange.BottomRow" />, <see cref="P:C1.Win.C1FlexGrid.CellRange.LeftCol" />, and <see cref="P:C1.Win.C1FlexGrid.CellRange.RightCol" /> properties.</para>
      </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellRange.r1">
      <summary>
            Gets or sets the range's first row index.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellRange.c1">
      <summary>
            Gets or sets the range's first column index.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellRange.r2">
      <summary>
            Gets or sets the range's last row index.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellRange.c2">
      <summary>
            Gets or sets the range's last column index.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.IsSingleCell">
      <summary>
            Gets a value that indicates if the range contains a single cell.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.IsValid">
      <summary>
            Gets a value that indicates if the range contains valid row and column indices.
            </summary>
      <remarks>
            This property returns true if the range coordinates are valid. The range is valid
            if both r1 and r2 are between 0 <b>Rows.Count-1</b>, both c1 and c2 are between 0 and 
            <b>Cols.Count-1</b>.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRange.ContainsRow(System.Int32)">
      <summary>
            Determines whether the range contains a given row.
            </summary>
      <param name="row">Index of the row to check.</param>
      <returns>True if the range contains the row, False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRange.ContainsCol(System.Int32)">
      <summary>
            Determines whether the range contains a given column.
            </summary>
      <param name="col">Index of the column to check.</param>
      <returns>True if the range contains the column, False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRange.Contains(System.Int32,System.Int32)">
      <summary>
            Determines whether the range contains a given cell.
            </summary>
      <param name="row">Index of the row to check.</param>
      <param name="col">Index of the column to check.</param>
      <returns>True if the range contains the cell, False otherwise.</returns>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.TopRow">
      <summary>
            Gets the index of the top row in the range.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.BottomRow">
      <summary>
            Gets the index of the bottom row in the range.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.LeftCol">
      <summary>
            Gets the index of the left column in the range.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.RightCol">
      <summary>
            Gets the index of the right column in the range.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRange.Normalize">
      <summary>
            Normalizes the range so that <see cref="F:C1.Win.C1FlexGrid.CellRange.r1" /> is the <see cref="P:C1.Win.C1FlexGrid.CellRange.TopRow" />, 
            <see cref="F:C1.Win.C1FlexGrid.CellRange.r2" /> is the <see cref="P:C1.Win.C1FlexGrid.CellRange.BottomRow" />, 
            <see cref="F:C1.Win.C1FlexGrid.CellRange.c1" /> is the <see cref="P:C1.Win.C1FlexGrid.CellRange.LeftCol" />, 
            and <see cref="F:C1.Win.C1FlexGrid.CellRange.c2" /> is the <see cref="P:C1.Win.C1FlexGrid.CellRange.RightCol" />.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.Data">
      <summary>
            Gets or sets the data stored in the range.
            </summary>
      <remarks>
            When getting, this property returns the value in the first cell of
            the range (r1, c1). When setting, it stores the given value in every 
            cell within the range.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.DataDisplay">
      <summary>
            Gets the value in cell (<see cref="F:C1.Win.C1FlexGrid.CellRange.r1" />, <see cref="F:C1.Win.C1FlexGrid.CellRange.c1" />), formatted as a string.
            </summary>
      <remarks>
            This property is similar to the <see cref="P:C1.Win.C1FlexGrid.CellRange.Clip" /> property, except <b>Clip</b>
            returns a tab-delimited string containing data in the entire range, and <b>DataDisplay</b>
            returns the contents of the first cell only (r1, c1).
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.Style">
      <summary>
            Gets or sets the style used to display every cell in the range.
            </summary>
      <remarks>
            Getting or setting the range style ensures that every cell in the range has 
            the same style. If the range does not contain any cells with custom styles,
            this property returns null.
            </remarks>
      <example>
            The code below creates a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> structure and uses it to 
            apply a custom style to the entire range.
            <code>
            // create a style
            CellStyle cs = _flex.Styles.Add("red");
            cs.BackColor = Color.Red;
            
            // create a cell range and assign it a style
            CellRange rg = _flex.GetCellRange(1, 1, 5, 5);
            rg.Style = cs;
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.StyleNew">
      <summary>
            Gets or sets the style used to display every cell in the range, creating a new style if necessary.
            </summary>
      <remarks>
            This property never returns null. If the range does not have a style assigned to it, a new style
            will be created automatically.
            </remarks>
      <example>
            The code below creates a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> structure and uses it to apply a custom style to 
            the entire range.
            <code>
            // create a cell range
            CellRange rg = _flex.GetCellRange(1, 1, 5, 5);
            
            // make sure range is red
            rg.StyleNew.BackColor = Color.Red;
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.StyleDisplay">
      <summary>
            Gets the style used to render cell (<see cref="F:C1.Win.C1FlexGrid.CellRange.r1" />, <see cref="F:C1.Win.C1FlexGrid.CellRange.c1" />).
            </summary>
      <remarks>
            This property never returns null. It will return the custom style assigned to the
            first cell in the range, to the cell's row, column, or a built-in style.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.Checkbox">
      <summary>
            Gets or sets the state of the checkbox in the range.
            </summary>
      <remarks>
            When getting, this property returns the checkbox value that corresponds to cell 
            (<see cref="F:C1.Win.C1FlexGrid.CellRange.r1" />, <see cref="F:C1.Win.C1FlexGrid.CellRange.c1" />). When setting, it applies the new value to all
            cells in the range.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.Image">
      <summary>
            Gets or sets the <see cref="P:C1.Win.C1FlexGrid.CellRange.Image" /> assigned to cells in the range.
            </summary>
      <remarks>
            When getting, this property returns the <see cref="P:C1.Win.C1FlexGrid.CellRange.Image" /> assigned to cell 
            (<see cref="F:C1.Win.C1FlexGrid.CellRange.r1" />, <see cref="F:C1.Win.C1FlexGrid.CellRange.c1" />). When setting, it applies the new value to all
            cells in the range.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.UserData">
      <summary>
            Gets or sets arbitrary used data assigned to cells in the range.
            </summary>
      <remarks>
            When getting, this property returns the user data assigned to cell 
            (<see cref="F:C1.Win.C1FlexGrid.CellRange.r1" />, <see cref="F:C1.Win.C1FlexGrid.CellRange.c1" />). When setting, it applies the new value to all
            cells in the range.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRange.Clip">
      <summary>
            Gets or sets a string containing the values of all cells in the range.
            </summary>
      <remarks>
        <para>The cell values are delimited by characters specified by the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipSeparators" /> 
            property.</para>
        <para>By default, columns are separated by tabs (\t or vbTab) and rows by line breaks (\n or vbCr).</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRange.Clear(C1.Win.C1FlexGrid.ClearFlags)">
      <summary>
            Clears selected elements from the range.
            </summary>
      <param name="clearFlags">
        <see cref="T:C1.Win.C1FlexGrid.ClearFlags" /> value that specifies which elements 
            should be cleared.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRange.ToString">
      <summary>
            Gets a string representation for this object.
            </summary>
      <returns>A string representation for this object.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.CellRangeCollection">
      <summary>
            Collection of <see cref="T:C1.Win.C1FlexGrid.CellRange" /> objects.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.#ctor(C1.Win.C1FlexGrid.C1FlexGrid)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.CellRangeCollection" />.
            </summary>
      <param name="flexGrid">Grid that owns the collection.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRangeCollection.Item(System.Int32)">
      <summary>
            Gets or sets the <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object at a specified index.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellRangeCollection.Count">
      <summary>
            Gets the number of <see cref="T:C1.Win.C1FlexGrid.CellRange" /> objects in the collection.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.Add(System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>
            Adds a new <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object to the collection.
            </summary>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <returns>The index of the object in the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.Add(C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Adds a new <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object to the collection.
            </summary>
      <param name="value">Object to add to the collection.</param>
      <returns>The index of the object in the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.Add(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
      <summary>
            Adds a new <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object to the collection, optionally
            removing other overlapping ranges from the collection.
            </summary>
      <param name="topRow">Top row in the range.</param>
      <param name="leftCol">Left column in the range.</param>
      <param name="bottomRow">Bottom row in the range.</param>
      <param name="rightCol">Right column in the range.</param>
      <param name="clearOverlappingRanges">Whether to remove overlapping 
            ranges from the collection before adding the new range.</param>
      <returns>The index of the object in the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.Add(C1.Win.C1FlexGrid.CellRange,System.Boolean)">
      <summary>
            Adds a new <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object to the collection, optionally
            removing other overlapping ranges from the collection.
            </summary>
      <param name="value">Object to add to the collection.</param>
      <param name="clearOverlappingRanges">Whether to remove overlapping 
            ranges from the collection before adding the new range.</param>
      <returns>The index of the object in the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.Clear">
      <summary>
            Removes all objects from the collection.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.Contains(C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Determines whether a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object is a member of the collection.
            </summary>
      <param name="item">Object to locate in the collection.</param>
      <returns>True if the object is a member of the collection, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.IndexOf(C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Gets the index of a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object in the collection.
            </summary>
      <param name="item">Object to locate in the collection.</param>
      <returns>The index of the object in the collection, or -1 if the object is not a member of the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.IndexOf(System.Int32,System.Int32)">
      <summary>
            Gets the index of the first <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object in the collection that contains the specified row and column.
            </summary>
      <param name="row">Index of the row contained in the range.</param>
      <param name="col">Index of the column contained in the range.</param>
      <returns>The index of the object in the collection, or -1 if no range could be found containing the specified row and column.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.Insert(System.Int32,C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Inserts a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object in the collection at a specified index.
            </summary>
      <param name="index">
      </param>
      <param name="value">
      </param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.Remove(C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Removes a <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object from the collection.
            </summary>
      <param name="obj">Object to remove from the collection.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellRangeCollection.RemoveAt(System.Int32)">
      <summary>
            Removed the object at a specified index from the collection.
            </summary>
      <param name="index">Index of the object to remove from the collection.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ConditionFilter">
      <summary>
            Represents a filter based on one or two logical conditions.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ConditionFilter.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.ConditionFilter" />.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ConditionFilter.Condition1">
      <summary>
            Gets the first filter condition.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ConditionFilter.Condition2">
      <summary>
            Gets the second filter condition.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ConditionFilter.AndConditions">
      <summary>
            Gets or sets whether the filter conditions should be combined
            with an 'And' or with an 'Or' operator.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ConditionFilter.Clone">
      <summary>
            Creates a clone of this <see cref="T:C1.Win.C1FlexGrid.ConditionFilter" />.
            </summary>
      <returns>A clone of this <see cref="T:C1.Win.C1FlexGrid.ConditionFilter" />.</returns>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ConditionFilter.IsActive">
      <summary>
            Gets or sets a value that determines whether the filter is active.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ConditionFilter.Reset">
      <summary>
            Resets the filter making it inactive.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ConditionFilter.Apply(System.Object)">
      <summary>
            Applies the filter to a value.
            </summary>
      <param name="value">Value to be filtered.</param>
      <returns>True if the <paramref name="value" /> satisfies the filter;
            False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ConditionFilter.GetEditor">
      <summary>
            Gets the editor used to modify the filter at run time.
            </summary>
      <returns>A <see cref="T:System.Windows.Forms.Control" /> that is used to modify the filter at run time.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ConditionOperator">
      <summary>
            Represents operators used in filter conditions.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.None">
      <summary>
            Disables the operator.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.Equals">
      <summary>
            Return true if the value equals the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.NotEquals">
      <summary>
            Return true if the value does not equal the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.GreaterThan">
      <summary>
            Return true if the value is greater than the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.LessThan">
      <summary>
            Return true if the value is less than the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.GreaterThanOrEqualTo">
      <summary>
            Return true if the value is greater than or equal to the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.LessThanOrEqualTo">
      <summary>
            Return true if the value is less than or equal to the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.Contains">
      <summary>
            Return true if the string representation of the value contains the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.DoesNotContain">
      <summary>
            Return true if the string representation of the value does not contain the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.BeginsWith">
      <summary>
            Return true if the string representation of the value begins with the operator parameter.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ConditionOperator.EndsWith">
      <summary>
            Return true if the string representation of the value ends with the operator parameter.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Condition">
      <summary>
            Represents a condition within a <see cref="T:C1.Win.C1FlexGrid.ConditionFilter" />.
            </summary>
      <remarks>
            Each <see cref="T:C1.Win.C1FlexGrid.ConditionFilter" /> contains up to two conditions that
            can be combined with 'And' or 'Or' operators.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Condition.IsActive">
      <summary>
            Gets a value that indicates whether the condition is active.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Condition.Operator">
      <summary>
            Gets or sets the operator used by this condition.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Condition.Parameter">
      <summary>
            Gets or sets the parameter used by this condition.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Condition.Clear">
      <summary>
            Clears this condition by setting the <see cref="P:C1.Win.C1FlexGrid.Condition.Operator" /> to 'None' 
            and the <see cref="P:C1.Win.C1FlexGrid.Condition.Parameter" /> to null.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Condition.Apply(System.Object)">
      <summary>
            Applies the condition to a given value.
            </summary>
      <param name="value">Value to test.</param>
      <returns>True if the value satisfies the condition, false otherwise.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.DropModeEnum">
      <summary>
            Specifies the behavior of the control as an OLE drag-drop target.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DropModeEnum.None">
      <summary>
            The control can't be used as a drop target.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DropModeEnum.Manual">
      <summary>
            The control fires drag-drop events that can be handled to provide drop target functionality.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DropModeEnum.Automatic">
      <summary>
            The control automatically handles dropping of text or filename data.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.DragModeEnum">
      <summary>
            Specifies the behavior of the control as an OLE drag-drop source.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DragModeEnum.Manual">
      <summary>
            The control does not provide any drag support. The caller can still initiate drag-drop operations
            using the <see cref="M:System.Windows.Forms.Control.DoDragDrop(System.Object,System.Windows.Forms.DragDropEffects)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DragModeEnum.Automatic">
      <summary>
            The control provides automatic dragging of data. If the mouse hovers near the edges of the selected range, 
            the cursor will change and allow the user to move or copy data (pressing the CTRL key to copy).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DragModeEnum.AutomaticCopy">
      <summary>
            Same as Automatic, except the data is always copied (never moved).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DragModeEnum.AutomaticMove">
      <summary>
            Same as Automatic, except the data is always moved (never copied).
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.BeforeMouseDownEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown" /> event.
            </summary>
      <param name="sender">Object that fired the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs" /> object that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeMouseDown" /> event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs.Button">
      <summary>
            Gets which mouse button was pressed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs.Clicks">
      <summary>
            Gets the number of times the mouse button was pressed and released.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs.X">
      <summary>
            Gets the x-coordinate of a mouse click.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs.Y">
      <summary>
            Gets the y-coordinate of a mouse click.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs.Delta">
      <summary>
            Gets a signed count of the number of detents the mouse wheel has rotated. A detent is one notch of the mouse wheel.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs.Cancel">
      <summary>
            Gets or sets a value indicating whether the event should be canceled.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs.#ctor(System.Windows.Forms.MouseEventArgs)">
      <summary>
            Initializes a new instance of the BeforeMouseDownEventArgs class.
            </summary>
      <param name="e">
        <see cref="T:System.Windows.Forms.MouseEventArgs" /> with mouse event information.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.BeforeMouseDownEventArgs.#ctor(C1.Win.C1FlexGrid.C1FlexGridBase,System.Windows.Forms.MouseButtons,System.Int32)">
      <summary>
            Initializes a new instance of the BeforeMouseDownEventArgs class.
            </summary>
      <param name="view">Control that will fire the event.</param>
      <param name="buttons">
        <see cref="T:System.Windows.Forms.MouseButtons" /> value that indicates which button was pressed.</param>
      <param name="clicks">Number of times the button was pressed and released.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.DragRowColEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragColumn" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragRow" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragColumn" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragRow" /> events.
            </summary>
      <param name="sender">Object that fired the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.DragRowColEventArgs" /> object that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.DragRowColEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragColumn" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeDragRow" />,
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragColumn" />, and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterDragRow" /> events.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DragRowColEventArgs.Row">
      <summary>
            Gets the original index of the row that was dragged by the user.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DragRowColEventArgs.Col">
      <summary>
            Gets the original index of the column that was dragged by the user.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DragRowColEventArgs.Position">
      <summary>
            Gets the new index of the column or row that was dragged by the user.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DragRowColEventArgs.Cancel">
      <summary>
            Gets or sets a value indicating whether the drag operation should be canceled.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.DragRowColEventArgs.#ctor(System.Int32,System.Int32,System.Int32)">
      <summary>
            Initializes a new instance of the DragRowColEventArgs class.
            </summary>
      <param name="row">The original index of the row that was dragged by the user.</param>
      <param name="col">The original index of the column that was dragged by the user.</param>
      <param name="position">The new index of the column or row.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.SortColEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSort" /> and 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSort" /> events.
            </summary>
      <param name="sender">Object that fired the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.SortColEventArgs" /> object that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.SortColEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSort" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSort" /> events.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortColEventArgs.Col">
      <summary>
            Gets the column that is being sorted.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortColEventArgs.Order">
      <summary>
            Gets or sets a <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> value that determines the sorting order.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortColEventArgs.Cancel">
      <summary>
            Gets or sets a value indicating whether the drag operation should be canceled.
            </summary>
      <remarks>
            Setting this parameter to true cancels the built-in sort operation and leaves the sorting glyph unchanged.
            </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SortColEventArgs.Handled">
      <summary>
            Gets or sets a value indicating whether the drag operation has been handled by the event handler.
            </summary>
      <remarks>
            Setting this parameter to true cancels the built-in sort but updates the sorting glyph as if the 
            sort had been performed. This is useful when the event handler performs custom sorting.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.SortColEventArgs.#ctor(System.Int32,C1.Win.C1FlexGrid.SortFlags)">
      <summary>
            Initializes a new instance of the SortColEventArgs class.
            </summary>
      <param name="col">The column that is being sorted.</param>
      <param name="order">
        <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> value that determines the sorting order.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RowColEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterEdit" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeColumn" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeRow" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforePageBreak" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeColumn" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeRow" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ShowScrollTip" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonClick" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ComboCloseUp" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ComboDropDown" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetupEditor" />, and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartEdit" /> events. 
            </summary>
      <param name="sender">Object that fired the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.RowColEventArgs" /> object that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RowColEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterEdit" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeColumn" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeRow" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeEdit" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforePageBreak" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeColumn" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeRow" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ShowScrollTip" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonClick" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ComboCloseUp" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ComboDropDown" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetupEditor" />, and 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.StartEdit" /> events. 
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.RowColEventArgs.Row">
      <summary>
            Gets the index of the row that caused the event.
            </summary>
      <remarks>
            This value may be set to -1 if the event was caused by a column.
            </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.RowColEventArgs.Col">
      <summary>
            Gets the index of the column that caused the event.
            </summary>
      <remarks>
            This value may be set to -1 if the event was caused by a row.
            </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.RowColEventArgs.Cancel">
      <summary>
            Gets or sets a value indicating whether the operation should be canceled.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowColEventArgs.#ctor(System.Int32,System.Int32)">
      <summary>
            Initializes a new instance of the RowColEventArgs class.
            </summary>
      <param name="row">Index of the row that caused the event.</param>
      <param name="col">Index of the column that caused the event.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RangeEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterRowColChange" />,
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterScroll" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSelChange" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeRowColChange" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeScroll" />, and
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSelChange" /> events. 
            </summary>
      <param name="sender">Object that fired the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.RangeEventArgs" /> object that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RangeEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterRowColChange" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterScroll" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSelChange" />, <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeRowColChange" />, 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeScroll" />, and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSelChange" /> events. 
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.RangeEventArgs.OldRange">
      <summary>
            Gets the range selected before the event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.RangeEventArgs.NewRange">
      <summary>
            Gets the range that will be selected after the event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.RangeEventArgs.Cancel">
      <summary>
            Gets or sets a value indicating whether the new selection should be canceled.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RangeEventArgs.#ctor(C1.Win.C1FlexGrid.CellRange,C1.Win.C1FlexGrid.CellRange)">
      <summary>
            Initializes a new instance of the RangeEventArgs class.
            </summary>
      <param name="rgOld">The range selected before the event.</param>
      <param name="rgNew">The range that will be selected after the event.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RowColToolTipEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ShowScrollTip" /> event.
            </summary>
      <param name="sender">Object that fired the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.ToolTipEventArgs" /> object that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ToolTipEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ShowScrollTip" /> event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ToolTipEventArgs.ToolTipText">
      <summary>
            Gets or sets the text to be displayed in the tooltip.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ToolTipEventArgs.#ctor(System.Int32,System.Int32,System.String)">
      <summary>
            Initializes a new instance of the ToolTipEventArgs class.
            </summary>
      <param name="row">Index of the row that caused the event.</param>
      <param name="col">Index of the column that caused the event.</param>
      <param name="toolTipText">Text to display in the ToolTip</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.KeyEditEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyDownEdit" /> and
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyUpEdit" /> events. 
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.KeyEditEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyDownEdit" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyUpEdit" /> events. 
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.Row">
      <summary>
            Gets the row index of the cell being edited when the key was pressed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.Col">
      <summary>
            Gets the column index of the cell being edited when the key was pressed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.KeyValue">
      <summary>
            Gets the integer representation of the <see cref="F:C1.Win.C1FlexGrid.KeyEditEventArgs.KeyData" /> property.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.KeyCode">
      <summary>
            Gets the key code for the event, which will be one of the <see cref="T:System.Windows.Forms.Keys" /> values.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.KeyData">
      <summary>
            Gets the key code for the key that was pressed, combined with modifier flags that indicate which 
            combination of CTRL, SHIFT, and ALT keys were pressed at the same time.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.Modifiers">
      <summary>
            Gets the modifier flags, as defined in Keys. This indicates which combination of modifier keys 
            (CTRL, SHIFT, and ALT) were pressed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.Alt">
      <summary>
            Gets a value indicating whether the ALT key was pressed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.Control">
      <summary>
            Gets a value indicating whether the CTRL key was pressed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.Shift">
      <summary>
            Gets a value indicating whether the SHIFT key was pressed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyEditEventArgs.Handled">
      <summary>
            Gets or sets a value indicating whether the event was handled and should be ignored by the control.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.KeyEditEventArgs.#ctor(System.Int32,System.Int32,System.Windows.Forms.KeyEventArgs)">
      <summary>
            Initializes a new instance of the KeyEditEventArgs class.
            </summary>
      <param name="row">The row index of the cell being edited when the key was pressed.</param>
      <param name="col">The column index of the cell being edited when the key was pressed.</param>
      <param name="e">A <see cref="T:System.Windows.Forms.KeyEventArgs" /> object containing the keyboard data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.KeyPressEditEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyPressEdit" /> event.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.KeyPressEditEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.KeyPressEdit" /> event.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.KeyPressEditEventArgs.Row">
      <summary>
            Gets the row index of the cell being edited when the key was pressed.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.KeyPressEditEventArgs.Col">
      <summary>
            Gets the column index of the cell being edited when the key was pressed.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.KeyPressEditEventArgs.KeyChar">
      <summary>
            Gets the character corresponding to the key pressed.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.KeyPressEditEventArgs.Handled">
      <summary>
            Gets or sets a value indicating whether the event was handled and should be ignored by the control.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.KeyPressEditEventArgs.#ctor(System.Int32,System.Int32,System.Char)">
      <summary>
            Initializes a new instance of the KeyPressEditEventArgs class.
            </summary>
      <param name="row">The row index of the cell being edited when the key was pressed.</param>
      <param name="col">The column index of the cell being edited when the key was pressed.</param>
      <param name="key">The character corresponding to the key pressed.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ValidateEditEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ValidateEdit" /> event.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ValidateEditEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.ValidateEdit" /> event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ValidateEditEventArgs.Row">
      <summary>
            Gets the row index of the cell being edited.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ValidateEditEventArgs.Col">
      <summary>
            Gets the column index of the cell being edited.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ValidateEditEventArgs.Checkbox">
      <summary>
            If the cell contains a checkbox, the new checkbox state about to be applied to the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ValidateEditEventArgs.Cancel">
      <summary>
            Gets or sets a value indicating whether the edit operation should be canceled.
            </summary>
      <remarks>
            If this parameter is set to true, the edits are considered invalid. The editor will remain open
            and the current cell selected until the user provides a valid entry or cancels the edit operation
            by pressing the ESC key.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ValidateEditEventArgs.#ctor(System.Int32,System.Int32,C1.Win.C1FlexGrid.CheckEnum)">
      <summary>
            Initializes a new instance of the ValidateEditEventArgs class.
            </summary>
      <param name="row">The row index of the cell being edited.</param>
      <param name="col">The column index of the cell being edited.</param>
      <param name="check">The new checkbox state about to be applied to the cell, if any.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridErrorEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridError" /> event.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridErrorEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridError" /> event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridErrorEventArgs.Row">
      <summary>
            Gets the row index of the cell where the error was detected.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridErrorEventArgs.Col">
      <summary>
            Gets the column index of the cell where the error was detected.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridErrorEventArgs.Exception">
      <summary>
            Gets the <see cref="F:C1.Win.C1FlexGrid.GridErrorEventArgs.Exception" /> object that contains information about the error.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GridErrorEventArgs.Handled">
      <summary>
            Gets or sets a value indicating whether the error situation has been handled by the control.
            </summary>
      <remarks>
            If this value is set to False, the grid will throw the exception.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridErrorEventArgs.#ctor(System.Int32,System.Int32,System.Exception,System.Boolean)">
      <summary>
            Initializes a new instance of the GridErrorEventArgs class.
            </summary>
      <param name="row">The row index of the cell where the error was detected.</param>
      <param name="col">The column index of the cell where the error was detected.</param>
      <param name="exception">The <see cref="F:C1.Win.C1FlexGrid.GridErrorEventArgs.Exception" /> object that contains information about the error.</param>
      <param name="handled">Whether the error was handled internally and no exception should be thrown.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GetErrorInfoEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellErrorInfo" /> and 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetRowErrorInfo" /> events.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GetErrorInfoEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellErrorInfo" /> and 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetRowErrorInfo" /> events.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GetErrorInfoEventArgs.Row">
      <summary>
            Gets the index of the row that may contain errors.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GetErrorInfoEventArgs.Col">
      <summary>
            Gets the index of the column that may contain errors (or -1 if checking for row errors).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GetErrorInfoEventArgs.ErrorText">
      <summary>
            Gets or sets a message that describes the error.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GetErrorInfoEventArgs.#ctor(System.Int32,System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:C1.Win.C1FlexGrid.GetErrorInfoEventArgs" /> class.
            </summary>
      <param name="row">The row index when error information is needed for a cell or row.</param>
      <param name="col">The column index when error information is needed for a cell or row.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.OwnerDrawCellEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.#ctor(C1.Win.C1FlexGrid.C1FlexGridBase,System.Drawing.Graphics,System.Int32,System.Int32,C1.Win.C1FlexGrid.CellStyle,System.Drawing.Rectangle,System.String,System.Drawing.Image)">
      <summary>
            Initializes a new instance of the OwnerDrawCellEventArgs class.
            </summary>
      <param name="view">The <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> control that contains the cell being painted.</param>
      <param name="graphics">The <see cref="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Graphics" /> object where the cell will be painted.</param>
      <param name="row">The row index of the cell being painted.</param>
      <param name="col">The column index of the cell being painted.</param>
      <param name="style">The <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> that will be used to paint the cell.</param>
      <param name="bounds">The bounds of the cell being painted.</param>
      <param name="text">The text that will be displayed in the cell.</param>
      <param name="img">The image that will be displayed in the cell.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Graphics">
      <summary>
            Gets the <see cref="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Graphics" /> object used to draw the cell. Use this object to draw custom elements in the cell.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Row">
      <summary>
            Get the row index of the cell being painted.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Col">
      <summary>
            Get the column index of the cell being painted.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Style">
      <summary>
            Sets or sets the <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object used to paint the cell.
            </summary>
      <remarks>
        <para>This parameter is often used to provide dynamic formatting based on cell contents. For example,
            if the cell contains a value outside a given range, the event handler may assign a new style to
            this parameter.</para>
        <para>Although it is legal to modify the members of the <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> parameter in this
            event, this is not recommended, since the change will affect other cells that may be using this style.</para>
      </remarks>
      <example>
            The code below uses the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> event to highlight cells that 
            indicate low stock levels.
            <code>
            // create style used to display low-stock items
            CellStyle cs = _flex.Styles.Add("Critical");
            cs.BackColor = Color.Red;
            
            private void _flex_OwnerDrawCell(object sender, C1.Win.C1FlexGrid.OwnerDrawCellEventArgs e)
            {
                // ignore fixed cells
                if (e.Row &lt; _flex.Rows.Fixed || e.Col &lt; _flex.Cols.Fixed)
                    return;
                    
                // apply custom style if reorder level is critical
                if (_flex.Cols[e.Col].Name == "UnitsInStock")
                {
                    // change the style by applying the "Critical" style to the Style parameter
                    // (do not change the e.Style.BackColor property directly since that would
                    // affect other cells that use this style)
                    if ((short)_flex[e.Row, "UnitsInStock"] &lt; (short)_flex[e.Row, "ReorderLevel"])
                        e.Style = _flex.Styles["Critical"];
                }
            }
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Bounds">
      <summary>
            Get the rectangle where the cell will be painted (in client coordinates).
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Text">
      <summary>
            Gets or sets the text that will be displayed in the cell.
            </summary>
      <remarks>
            Changing this value is an easy way to modify the text displayed in a cell without any custom drawing code.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Image">
      <summary>
            Gets or sets the image that will be displayed in the cell.
            </summary>
      <remarks>
            Changing this value is an easy way to modify the image displayed in a cell without any custom drawing code.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Measuring">
      <summary>
            Gets a value that determines if the event was fired only to measure the cell.
            </summary>
      <remarks>
            This occurs while auto-sizing rows and columns, since the event handler may change the 
            value displayed in the cell while handling this event.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.Handled">
      <summary>
            Gets or sets whether the event has finished drawing the cell.
            </summary>
      <remarks>
        <para>If this parameter is set to true, the grid assumes the call has been painted by the event handler. If it
            is set to false, the grid will paint the cell when the event returns.</para>
        <para>Note that calling the <see cref="M:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.DrawCell" /> method automatically sets this parameter to true.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.DrawCell(C1.Win.C1FlexGrid.DrawCellFlags)">
      <summary>
            Causes the grid to paint parts of the cell (background, foreground, border, etc.)
            </summary>
      <param name="flags">
        <see cref="T:C1.Win.C1FlexGrid.DrawCellFlags" /> that specifies the parts of the cell.</param>
      <remarks>
        <para>This method is typically called in <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.OwnerDrawCell" /> handlers when the code
            intends to draw some elements of the cell but not everything.</para>
        <para>For example, the code may want to draw a custom border only. In this case, it could call
            <b>e.DrawCell(DrawCellFlags.Background | DrawCellFlags.Content)</b> to draw the cell background and content, 
            and later draw the custom border. 
            Or the code could want to draw a custom marker in a cell (like a note indicator in Excel). In this case, it 
            should call <b>e.DrawCell()</b> to draw the entire cell, and later add the note marker (little red triangle 
            on the top right corner of the cell).</para>
        <para>If the owner-draw code draws the entire cell (including the background), then there's no need to call 
            <b>e.DrawCell</b> at all.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.DrawCell">
      <summary>
            Causes the grid to paint the whole cell.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.UnboundValueEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetUnboundValue" /> and
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetUnboundValue" /> events.
            </summary>
      <param name="sender">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> object that raised the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.UnboundValueEventArgs" /> that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.UnboundValueEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetUnboundValue" /> and 
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.SetUnboundValue" /> events.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.UnboundValueEventArgs.Row">
      <summary>
            Gets the row index for the cell that has an unbound value.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.UnboundValueEventArgs.Col">
      <summary>
            Gets the column index for the cell that has an unbound value.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.UnboundValueEventArgs.Value">
      <summary>
            Gets or sets the unbound value that should be displayed in the cell.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.UnboundValueEventArgs.#ctor(System.Int32,System.Int32,System.Object)">
      <summary>
            Initializes a new instance of the UnboundValueEventArgs class.
            </summary>
      <param name="row">Row index for the cell that has an unbound value.</param>
      <param name="col">Column index for the cell that has an unbound value.</param>
      <param name="value">Unbound value that should be displayed in the cell.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.SubtotalEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSubtotal" /> and
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSubtotal" /> events.
            </summary>
      <param name="sender">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> object that raised the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.SubtotalEventArgs" /> that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.SubtotalEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeSubtotal" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterSubtotal" /> events.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.Function">
      <summary>
            Gets the <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate..
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.Level">
      <summary>
            Outline level to assign to the new subtotal rows.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.GroupFrom">
      <summary>
            Gets the index of the first column in the range used to detect group breaks.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.GroupTo">
      <summary>
            Gets the index of the last column in the range used to detect group breaks.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.TotalOn">
      <summary>
            Gets the index of the column that contains values being aggregated.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.Caption">
      <summary>
            Gets or sets the text to insert in the new subtotal row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.NewRowIndex">
      <summary>
            Gets the index of the new subtotal row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.IsNewRow">
      <summary>
            Gets a value that determines whether the subtotal row is a new row or the 
            subtotal is being added to an existing subtotal row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.Top">
      <summary>
            Gets the index of the top row in the group.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.Bottom">
      <summary>
            Gets the index of the bottom row in the group.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.AggregateValue">
      <summary>
            Gets or sets the calculated aggregate value for the group.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.Style">
      <summary>
            Gets or sets the <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> to be applied to the new subotal row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SubtotalEventArgs.Cancel">
      <summary>
            Whether to cancel the creation of the new subtotal row.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.SubtotalEventArgs.#ctor(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String,System.Int32,System.Boolean,System.Int32,System.Int32,System.Object,C1.Win.C1FlexGrid.CellStyle)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.SubtotalEventArgs" /> object.
            </summary>
      <param name="function">
        <see cref="T:C1.Win.C1FlexGrid.AggregateEnum" /> value that specifies the type of aggregate to calculate.</param>
      <param name="level">Outline level to assign to the new subtotal rows. This parameter allows the creation of multi-level subtotals and affects the display of the outline tree.</param>
      <param name="groupFrom">First column in the range used to detect group breaks.</param>
      <param name="groupTo">Last column in the range used to detect group breaks.</param>
      <param name="totalOn">Column that contains values being aggregated.</param>
      <param name="caption">Text to insert in the new subtotal row.</param>
      <param name="newRowIndex">Index of the new subtotal row.</param>
      <param name="isNewRow">Whether the subtotal row is a new row or the subtotal is being added to an existing subtotal row.</param>
      <param name="top">Index of the top row in the group.</param>
      <param name="bottom">Index of the bottom row in the group.</param>
      <param name="aggregateValue">Calculated aggregate value for the group.</param>
      <param name="style">
        <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> to be applied to the new subotal row.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GetLocalizedStringEventHandler">
      <summary>
            Represents the method that will handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetLocalizedString" /> event.
            </summary>
      <param name="sender">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> object that raised the event.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs" /> that contains the event data.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs">
      <summary>
            Provides data for the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetLocalizedString" /> event.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs.Value">
      <summary>
            Gets or sets the value of the localized string.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs.ComponentName">
      <summary>
            Gets the name of the component being localized.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs.Parent">
      <summary>
            Parent of the component being localized.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs.Component">
      <summary>
            Component being localized.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs.#ctor(System.String,System.String,System.Windows.Forms.Control,System.ComponentModel.Component)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GetLocalizedStringEventArgs" />.
            </summary>
      <param name="value">Value to be localized.</param>
      <param name="componentName">Name of the component being localized.</param>
      <param name="parent">Parent of the component being localized.</param>
      <param name="component">Component being localized.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AllowFiltering">
      <summary>
            Specifies the type of filter to be used for a <see cref="T:C1.Win.C1FlexGrid.Column" />.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFiltering.Default">
      <summary>
            Filter column using a <see cref="T:C1.Win.C1FlexGrid.ColumnFilter" />.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFiltering.ByValue">
      <summary>
            Filter column by values using a <see cref="T:C1.Win.C1FlexGrid.ValueFilter" />.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFiltering.ByCondition">
      <summary>
            Filter column by conditions using a <see cref="T:C1.Win.C1FlexGrid.ConditionFilter" />.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFiltering.Custom">
      <summary>
            Filter column using a filter specified by the caller.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AllowFiltering.None">
      <summary>
            Do not provide a filter for this column.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GlyphEnum">
      <summary>
            Specifies a type of glyph (image) used by the grid to convey information about a row, column, or cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.Ascending">
      <summary>
            Indicates column sorted in ascending order (default is hollow triangle pointing up).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.Descending">
      <summary>
            Indicates column sorted in descending order (default is hollow triangle pointing down).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.Checked">
      <summary>
            Checkbox in checked state.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.Unchecked">
      <summary>
            Checkbox in unchecked state.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.Grayed">
      <summary>
            Checkbox in gray (undefined) state.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.Collapsed">
      <summary>
            Collapsed tree node (default is plus sign).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.Expanded">
      <summary>
            Expanded tree node (default is minus sign).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.DBCursor">
      <summary>
            Indicates current record (default is black triangle pointing right).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.DBAdd">
      <summary>
            Indicates row being added to data source (default is asterisk).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.ErrorInfo">
      <summary>
            Indicates row or cell error (default is red exclamation sign).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.FilterEditor">
      <summary>
            Indicates that a column has a drop-down filter editor.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.GlyphEnum.FilteredColumn">
      <summary>
            Indicates that a column has a filter currently active.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridGlyphs">
      <summary>
            Represents a collection of glyphs (images) indexed by glyph type (<see cref="T:C1.Win.C1FlexGrid.GlyphEnum" /> type).
            </summary>
      <remarks>
        <para>The <see cref="T:C1.Win.C1FlexGrid.GridGlyphs" /> collection contains the images used by the grid to indicate column 
            sorting direction, collapsed and expanded outline groups, check boxes, cursors, error information, etc.</para>
        <para>You can use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Glyphs" /> property get or set these images.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridGlyphs.Item(C1.Win.C1FlexGrid.GlyphEnum)">
      <summary>
            Gets or sets the glyph for a particular <see cref="T:C1.Win.C1FlexGrid.GlyphEnum" /> value.
            </summary>
      <remarks>
            Setting a glyph to null causes the grid to use the default image for the glyph. To suppress
            a glyph, assign it a small transparent image.</remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.AutoSearchEnum">
      <summary>
            Specifies where the grid should start searching for cells when using the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch" /> property.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AutoSearchEnum.None">
      <summary>
            No auto-searching.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AutoSearchEnum.FromTop">
      <summary>
            Search from the first scrollable row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.AutoSearchEnum.FromCursor">
      <summary>
            Search from the current row.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.KeyActionEnum">
      <summary>
            Specifies the action to perform when the ENTER and TAB keys are pressed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyActionEnum.None">
      <summary>
            No special action (allow system to handle the key). For example, the TAB key is normally 
            used to cycle through the controls on a form.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyActionEnum.MoveDown">
      <summary>
            Move to the next row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyActionEnum.MoveAcross">
      <summary>
            Move to the next column. At the end of the row, wrap to the start of the next row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.KeyActionEnum.MoveAcrossOut">
      <summary>
        <para>Same as <b>MoveAcross</b>, but move the focus to the next control in the tab order when 
            the last cell in the grid is reached.</para>
        <para>This setting applies only to the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.KeyActionTab" /> property;
            when used with  <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.KeyActionEnter" /> it behaves like <b>MoveAcross</b>.</para>
      </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.HitTestTypeEnum">
      <summary>
            Type of grid element at a specific point on the control.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.None">
      <summary>
            The point is in the grid's empty area.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.Cell">
      <summary>
            The point is on a grid cell. (The cell coordinates are stored in the <see cref="F:C1.Win.C1FlexGrid.HitTestInfo.Row" /> 
            and <see cref="F:C1.Win.C1FlexGrid.HitTestInfo.Column" /> properties).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.ColumnHeader">
      <summary>
            The point is on a fixed row, over a column.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.ColumnResize">
      <summary>
            The point is near the right edge of a fixed cell, in the column resizing area.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.ColumnFreeze">
      <summary>
            The point is near the right edge of the last frozen column, in the column freezing area.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.RowHeader">
      <summary>
            The point is on a fixed column, next to a row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.RowResize">
      <summary>
            The point is near the bottom edge of a fixed cell, in the row resizing area.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.RowFreeze">
      <summary>
            The point is near the bottom edge of the last frozen row, in the row freezing area.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.Checkbox">
      <summary>
            The point is on a check box.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.EditButton">
      <summary>
            The point is on an edit button (drop down, popup editors).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.OutlineBar">
      <summary>
            The point is on the outline bar (visible when the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Tree" /> property 
            has a <see cref="P:C1.Win.C1FlexGrid.GridTree.Style" /> that contains the <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.ButtonBar" /> flag).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.OutlineTree">
      <summary>
            The point is on the collapse/expand button on an outline tree (visible when the grid's 
            <see cref="P:C1.Win.C1FlexGrid.GridTree.Style" /> property contains the <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Symbols" /> flag).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestTypeEnum.FilterIcon">
      <summary>
            The point is on the filter icon on a column header cell.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.HitTestInfo">
      <summary>
            Contains information, such as the row and column indexes, about a specific coordinate pair 
            in the <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" /> control.
            </summary>
      <remarks>
            Use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.HitTest(System.Int32,System.Int32)" /> method to obtain a <see cref="T:C1.Win.C1FlexGrid.HitTestInfo" /> value.
            </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestInfo.Row">
      <summary>
            Get the index of the row at the point being tested (if the point does not correspond to a cell, it returns -1).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestInfo.Column">
      <summary>
            Get the index of the column at the point being tested (if the point does not correspond to a cell, it returns -1).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestInfo.Point">
      <summary>
            The point on the control surface, in pixels.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.HitTestInfo.X">
      <summary>
            The X coordinate of a point on the control surface, in pixels.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.HitTestInfo.Y">
      <summary>
            The Y coordinate of a point on the control surface, in pixels.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.HitTestInfo.Type">
      <summary>
            Gets a <see cref="T:C1.Win.C1FlexGrid.HitTestTypeEnum" /> that describes the type of element described by a <see cref="T:C1.Win.C1FlexGrid.HitTestInfo" />.
            </summary>
      <remarks>
            This property allows you to determine whether the point corresponds to a grid cell or
            to special elements such as row and column headers, resizing areas, and so on.</remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.NodeTypeEnum">
      <summary>
            Specifies a node with respect to another given node.
            </summary>
      <remarks>
            This enumeration is used with the <see cref="M:C1.Win.C1FlexGrid.Node.GetNode(C1.Win.C1FlexGrid.NodeTypeEnum)" /> method.
            </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.Root">
      <summary>
            The node's top-level parent.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.Parent">
      <summary>
            The node's immediate parent.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.FirstChild">
      <summary>
            The node's first child.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.LastChild">
      <summary>
            The node's last child.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.FirstSibling">
      <summary>
            The node's first sibling (node with same level and same parent).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.LastSibling">
      <summary>
            The node's last sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.NextSibling">
      <summary>
            The node's next sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.PreviousSibling">
      <summary>
            The node's previous sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.FirstVisibleSibling">
      <summary>
            The node's first visible sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.LastVisibleSibling">
      <summary>
            The node's last visible sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.NextVisibleSibling">
      <summary>
            The node's next visible sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.PreviousVisibleSibling">
      <summary>
            The node's previous visible sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeTypeEnum.FirstVisibleChild">
      <summary>
            The node's first visible child.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.NodeMoveEnum">
      <summary>
            Specifies the destination of nodes when they are moved with the <see cref="M:C1.Win.C1FlexGrid.Node.Move(C1.Win.C1FlexGrid.NodeMoveEnum,C1.Win.C1FlexGrid.Node)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeMoveEnum.In">
      <summary>
            Move the node one level in, deeper into the outline.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeMoveEnum.Out">
      <summary>
            Move the node one level out, towards the root.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeMoveEnum.Up">
      <summary>
            Move the node to the position before its previous sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeMoveEnum.Down">
      <summary>
            Move the node to the position after its next sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeMoveEnum.First">
      <summary>
            Move the node to the position before its first sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeMoveEnum.Last">
      <summary>
            Move the node to the position after its last sibling.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.NodeMoveEnum.ChildOf">
      <summary>
            Make the node a child of the specified node.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Node">
      <summary>
            The <see cref="T:C1.Win.C1FlexGrid.Node" /> class encapsulates properties and methods used for manipulating node rows
            (collapsing, expanding, moving, and sorting them).
            </summary>
      <remarks>
            You can create node rows using the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method or by setting the
            <see cref="P:C1.Win.C1FlexGrid.Row.IsNode" /> property to true.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Level">
      <summary>
            Gets or sets the outline level for this node.
            </summary>
      <remarks>
            Higher levels mean deeper nesting. Set the level to zero to create root nodes, 
            or set the level to negative values to create nodes that do not appear on the outline tree.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Collapsed">
      <summary>
            Gets or sets whether this node is collapsed.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Expanded">
      <summary>
            Gets or sets whether this node is expanded.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Children">
      <summary>
            Gets the number of child nodes under this node.
            </summary>
      <remarks>
            Only immediate children are included in the count. Grand-children are not included.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Image">
      <summary>
            Gets or sets the image on this node row at the column that contains the outline tree.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Key">
      <summary>
            Gets or sets the <see cref="P:C1.Win.C1FlexGrid.RowCol.UserData" /> associated with this node row.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Data">
      <summary>
            Gets or sets the data on this node row at the column that contains the outline tree.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Checked">
      <summary>
            Gets or sets the checkbox value associated with this node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Row">
      <summary>
            Returns a reference to the <see cref="P:C1.Win.C1FlexGrid.Node.Row" /> object that corresponds to this node.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.GetCellRange">
      <summary>
            Returns a CellRange object containing this row and all its child rows.
            </summary>
      <returns>A CellRange object containing this row and all its child rows.</returns>
      <remarks>
            The <see cref="T:C1.Win.C1FlexGrid.CellRange" /> object returned includes all columns.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.GetNode(C1.Win.C1FlexGrid.NodeTypeEnum)">
      <summary>
            Returns a reference to a node located at a given position relative to this node.
            </summary>
      <param name="position">A value from the <see cref="T:C1.Win.C1FlexGrid.NodeTypeEnum" /> enumeration that specifies
            the position relative to this node.</param>
      <returns>A node object.</returns>
      <remarks>
            If the node requested does not exist, <see cref="M:C1.Win.C1FlexGrid.Node.GetNode(C1.Win.C1FlexGrid.NodeTypeEnum)" /> returns null (for example,
            the root node does not have a previous sibling).
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Parent">
      <summary>
            Gets the parent node of this node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.PrevNode">
      <summary>
            Gets the previous sibling node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.PrevVisibleNode">
      <summary>
            Gets the previous visible sibling node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.NextNode">
      <summary>
            Gets the next sibling node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.NextVisibleNode">
      <summary>
            Gets the next visible sibling node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.FirstChild">
      <summary>
            Gets the first child node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.FirstVisibleChild">
      <summary>
            Gets the first visible child node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.LastChild">
      <summary>
            Gets the last child node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.FirstSibling">
      <summary>
            Gets the first sibling node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.LastSibling">
      <summary>
            Gets the last sibling node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Index">
      <summary>
            Gets the index of this node in the collection.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.Nodes">
      <summary>
            Gets an array containing the children of this node.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Node.HasVisibleChildren">
      <summary>
            Gets whether any child of node is visible.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.AddNode(C1.Win.C1FlexGrid.NodeTypeEnum,System.Object,System.Object,System.Drawing.Image)">
      <summary>
            Creates a node row at a specified position relative to this node.
            </summary>
      <param name="position">A value from the <see cref="T:C1.Win.C1FlexGrid.NodeTypeEnum" /> enumeration that specifies 
            where the new node will be added with respect to this node (e.g. Child, Sibling).</param>
      <param name="data">Value of the <see cref="P:C1.Win.C1FlexGrid.Node.Data" /> property for the new node.</param>
      <param name="key">Value of the <see cref="P:C1.Win.C1FlexGrid.Node.Key" /> property for the new node.</param>
      <param name="img">Value of the <see cref="P:C1.Win.C1FlexGrid.Node.Image" /> property for the new node.</param>
      <returns>A reference to the new <see cref="T:C1.Win.C1FlexGrid.Node" /> added to the grid.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.AddNode(C1.Win.C1FlexGrid.NodeTypeEnum,System.Object)">
      <summary>
            Creates a node row at a specified position relative to this node.
            </summary>
      <param name="position">A value from the <see cref="T:C1.Win.C1FlexGrid.NodeTypeEnum" /> enumeration that specifies 
            where the new node will be added with respect to this node (e.g. Child, Sibling).</param>
      <param name="data">Value of the <see cref="P:C1.Win.C1FlexGrid.Node.Data" /> property for the new node.</param>
      <returns>A reference to the new <see cref="T:C1.Win.C1FlexGrid.Node" /> added to the grid.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.RemoveNode">
      <summary>
            Removes this node row and all its child rows (nodes and data) from the grid.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.Move(C1.Win.C1FlexGrid.NodeMoveEnum,C1.Win.C1FlexGrid.Node)">
      <summary>
            Moves a node to a new position.
            </summary>
      <param name="moveTo">A value from the <see cref="T:C1.Win.C1FlexGrid.NodeMoveEnum" /> enumeration that specifies
             where the node will be moved with respect to its current position.</param>
      <param name="targetNode">
        <see cref="T:C1.Win.C1FlexGrid.Node" /> object to use as a target when the <paramref name="moveTo" />
            parameter is set to <see cref="F:C1.Win.C1FlexGrid.NodeMoveEnum.ChildOf" />.</param>
      <returns>Returns true if the method was successful, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.Move(C1.Win.C1FlexGrid.NodeMoveEnum)">
      <summary>
            Moves a node to a new position.
            </summary>
      <param name="moveTo">A value from the <see cref="T:C1.Win.C1FlexGrid.NodeMoveEnum" /> enumeration that specifies where
            the node will be moved with respect to its current position.</param>
      <returns>Returns true if the method was successful, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.EnsureVisible">
      <summary>
            Ensures that this node is visible, expanding its parent nodes and scrolling it into view if necessary.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.Select">
      <summary>
            Selects the node.
            </summary>
      <remarks>
            This method sets the control's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Row" /> property.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32,System.Int32)">
      <summary>
            Sorts this node's child nodes in the specified order.
            </summary>
      <param name="order">One or more values from the <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> enumeration that specify 
            the type of sorting to be applied (e.g. ascending, descending, case-sensitive, etc).</param>
      <param name="col1">Start of a range of columns to sort.</param>
      <param name="col2">End of a range of columns to sort.</param>
      <remarks>
        <para>The grid recognizes two types of row: regular rows which contain data, and node rows which are used
            to group data. This method only sorts the row nodes; it does not reorder the data rows within each node.</para>
        <para>To sort the data rows, use the grid's <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method instead.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.Sort(C1.Win.C1FlexGrid.SortFlags)">
      <summary>
            Sorts this node's child nodes in the specified order.
            </summary>
      <param name="order">One or more values from the <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> enumeration that specify
            the type of sorting to be applied (e.g. ascending, descending, case-sensitive, etc).</param>
      <remarks>
        <para>The grid recognizes two types of row: regular rows which contain data, and node rows which are used
            to group data. This method only sorts the row nodes; it does not reorder the data rows within each node.</para>
        <para>To sort the data rows, use the grid's <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method instead.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Node.Sort(System.Collections.IComparer)">
      <summary>
            Sorts this node's child nodes using a given <see cref="T:System.Collections.IComparer" /> object to determine the node order.
            </summary>
      <param name="comparer">An object that implements the <see cref="T:System.Collections.IComparer" /> interface used
            to compare <see cref="P:C1.Win.C1FlexGrid.Node.Row" /> objects. This can be used to provide custom sorting.</param>
      <remarks>
        <para>The grid recognizes two types of row: regular rows which contain data, and node rows which are used
            to group data. This method only sorts the row nodes; it does not reorder the data rows within each node.</para>
        <para>To sort the data rows, use the grid's <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method instead.</para>
      </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.PrintGridFlags">
      <summary>
            Contains flags that specify printing options to use with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.PrintGridFlags.ActualSize">
      <summary>
            Print the grid in actual (screen size). If the grid is too wide to fit on a page, columns spill onto
            separate pages. If the grid is too tall to fit on a page, rows spill onto additional pages.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.PrintGridFlags.FitToPageWidth">
      <summary>
            Scale the grid so its width will fit on a single page. If the grid is too tall to fit on a page, 
            rows spill onto additional pages.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.PrintGridFlags.FitToPage">
      <summary>
            Scale the grid so it will fit on a single page (rows and columns).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.PrintGridFlags.ShowPageSetupDialog">
      <summary>
            Show a page setup dialog before printing so the user can select paper size, orientation, and margins.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.PrintGridFlags.ShowPrintDialog">
      <summary>
            Show a print setup dialog before printing so the user can select the printer to use.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.PrintGridFlags.ShowPreviewDialog">
      <summary>
            Show a print preview dialog before printing so the user can inspect the document before printing it.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.PrintGridFlags.ShowHighlight">
      <summary>
            Show highlighted selection while printing.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.PrintGridFlags.ExtendLastCol">
      <summary>
            Extend the last column on each printed page.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridPrinter">
      <summary>
            Represents a class that encapsulates the control printing functionality, including page and printer 
            settings, headers, and footers.
            </summary>
      <remarks>
            See also the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)" /> method.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.PrintDocument">
      <summary>
            Gets the <see cref="T:System.Drawing.Printing.PrintDocument" /> object that specifies page and printer settings.
            </summary>
      <remarks>
            The <see cref="P:C1.Win.C1FlexGrid.GridPrinter.PrintDocument" /> class is part of the .NET framework, defined in the 
            <b>System.Drawing.Printing</b> namespace. It contains properties that specify printer and page settings for the document.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.HeaderFont">
      <summary>
            Specifies the font to use for rendering page headers.
            </summary>
      <remarks>
            See also the <see cref="P:C1.Win.C1FlexGrid.GridPrinter.Header" /> property.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.FooterFont">
      <summary>
            Specifies the font to use for rendering page footers.
            </summary>
      <remarks>
            See also the <see cref="P:C1.Win.C1FlexGrid.GridPrinter.Footer" /> property.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.PageNumber">
      <summary>
            Gets the number of the page being printed (the first page is numbered one).
            </summary>
      <remarks>
            Applications typically use this property to provide user feedback while printing grids.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.PageCount">
      <summary>
            Gets the total number of the pages in the print document.
            </summary>
      <remarks>
        <para>The value returned is accurate only while the document is printing. Before or after
            a document is done printing, this property returns zero.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.PrintPreviewDialog">
      <summary>
            Gets a reference to the <see cref="P:C1.Win.C1FlexGrid.GridPrinter.PrintPreviewDialog" /> used to display the grid's print preview.
            </summary>
      <remarks>
            Use this property to customize the size and position of the preview dialog when printing the grid 
            with the <see cref="F:C1.Win.C1FlexGrid.PrintGridFlags.ShowPrintDialog" /> option.
            </remarks>
      <example>
            The code below uses the <b>PrintPreviewDialog</b> property to display the preview dialog with a 
            custom caption and in a maximized state:
            <code>
            Form dlg = _flex.PrintParameters.PrintPreviewDialog as Form;
            dlg.Text = "Custom Caption";
            dlg.StartPosition = FormStartPosition.Manual;
            dlg.WindowState = FormWindowState.Maximized;
            _flex.PrintGrid("test", PrintGridFlags.ShowPreviewDialog);
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.PrintGridFlags">
      <summary>
            Gets or sets the flags that specify printing options to use with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)" /> 
            method. See the <see cref="P:C1.Win.C1FlexGrid.GridPrinter.PrintGridFlags" /> enumeration for details.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.Header">
      <summary>
            Gets or sets a string that contains the page headers.
            </summary>
      <remarks>
        <para>The string may be divided by tab characters into up to three sections. The sections are then
            left, center, and right-aligned at the top of each page.</para>
        <para>The string may contain placeholders "{0}" and "{1}" which are replaced with the current
            page number and total page count.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.GridPrinter.HeaderFont" /> property to select the font used to render the header.</para>
      </remarks>
      <example>
            The code below specifies a right-aligned header with a "Page n of m" display using a 10-point Tahoma font.
            <code>
            _flex.Header = "\t\tPage {0} of {1}";
            _flex.HeaderFont = new Font("Tahoma", 10);
            _flex.PrintGrid("Header");
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridPrinter.Footer">
      <summary>
            Gets or sets a string that contains the page footers.
            </summary>
      <remarks>
        <para>The string may be divided by tab characters into up to three sections. The sections are then
            left, center, and right-aligned at the top of each page.</para>
        <para>The string may contain placeholders "{0}" and "{1}" which are replaced with the current
            page number and total page count.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.GridPrinter.FooterFont" /> property to select the font used to render the footer.</para>
      </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.PrintDocumentGridRenderer">
      <summary>
            Represents an object that renders a <see cref="T:C1.Win.C1FlexGrid.C1FlexGrid" /> into a 
            paged <see cref="T:System.Drawing.Printing.PrintDocument" />.
            </summary>
      <remarks>
        <para>This class may be used to print multiple grids, along with other 
            custom content, into an existing <see cref="T:System.Drawing.Printing.PrintDocument" /> object.</para>
        <para>To use it, create one <b>PrintDocumentGridRenderer</b> for each
            grid you want to print. Then handle the document events and call the
            <see cref="M:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.PrintPage(System.Drawing.Printing.PrintPageEventArgs)" /> event for the renderers until the value of the
            <see cref="P:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.CurrentPage" /> property equals <see cref="P:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.PageCount" />.</para>
        <example>
            The code below renders two grids into a <see cref="T:System.Drawing.Printing.PrintDocument" />:
            <code>
            // print two grids into an existing PrintDocument
            private void button1_Click(object sender, EventArgs e)
            {
              using (var dlg = new PrintPreviewDialog())
              {
                dlg.Document = this.printDocument1;
                dlg.ShowDialog(this);
              }
            }
            
            // event handlers for the PrintDocument object on the form
            PrintDocumentGridRenderer _g1, _g2;
            void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
            {
              // create and configure grid renderer for the first grid
              _g1 = new PrintDocumentGridRenderer(c1FlexGrid1);
              _g1.Options = PrintGridFlags.FitToPageWidth | PrintGridFlags.ExtendLastCol;
              
              // create and configure grid renderer for the second grid
              _g2 = new PrintDocumentGridRenderer(c1FlexGrid2);
              _g2.Options = PrintGridFlags.FitToPageWidth | PrintGridFlags.ExtendLastCol;
            }
            void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
              // render first grid
              if (_g1.CurrentPage &lt; _g1.PageCount)
              {
                _g1.PrintPage(e);
                e.HasMorePages = true;
              }
              
              // render second grid
              else if (_g2.CurrentPage &lt; _g2.PageCount)
              {
                _g2.PrintPage(e);
                e.HasMorePages = _g2.CurrentPage &lt; _g2.PageCount;
              }
            }
            </code></example>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.#ctor(C1.Win.C1FlexGrid.C1FlexGridBase)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.PrintDocumentGridRenderer" />.
            </summary>
      <param name="flex">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> that will be painted by
            this renderer.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.Options">
      <summary>
            Gets or sets the flags that specify printing options to use with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.PrintGrid(System.String,C1.Win.C1FlexGrid.PrintGridFlags)" /> 
            method. See the <see cref="T:C1.Win.C1FlexGrid.PrintGridFlags" /> enumeration for details.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.CurrentPage">
      <summary>
            Gets the index of the page being rendered.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.PageCount">
      <summary>
            Gets the total number of pages in the document.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.FirstPageY">
      <summary>
            Gets or sets the Y coordinate of the first block of cells rendered on 
            the document.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.PrintPage(System.Drawing.Printing.PrintPageEventArgs)">
      <summary>
            Renders the current page into the document.
            </summary>
      <param name="e">
        <see cref="T:System.Drawing.Printing.PrintPageEventArgs" /> that provides parameters for rendering the page.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.PrintPage(System.Drawing.Printing.PrintPageEventArgs,System.Int32)">
      <summary>
            Renders a specific page into the document.
            </summary>
      <param name="e">
        <see cref="T:System.Drawing.Printing.PrintPageEventArgs" /> that provides parameters for rendering the page.</param>
      <param name="pageIndex">Index of the page to print.</param>
      <remarks>
            This method is used to render specific ranges of pages within the document. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.PrintDocumentGridRenderer.Setup(System.Drawing.Printing.PrintPageEventArgs)">
      <summary>
            Calculates the zoom factor and page breaks in the document.
            </summary>
      <param name="e">
        <see cref="T:System.Drawing.Printing.PrintPageEventArgs" /> that contains the page information.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RowCol">
      <summary>
            Base class for grid rows and columns (<see cref="T:C1.Win.C1FlexGrid.Row" /> and <see cref="T:C1.Win.C1FlexGrid.Column" /> classes).
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCol.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.Win.C1FlexGrid.RowCol" /> class.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.Visible">
      <summary>
            Gets or sets whether a Row or Column is visible.
            </summary>
      <remarks>
        <para>This property returns true even if the row or column has been scrolled out of view.</para>
        <para>To determine whether a row is currently within view, check the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> 
            and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.BottomRow" /> properties.</para>
        <para>To determine whether a column is currently within view, check the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> 
            and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.RightCol" /> properties.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.IsCollapsed">
      <summary>
            Gets whether this row is collapsed.
            </summary>
      <remarks>
            Rows are collapsed when one of their parent nodes is collapsed.
            Collapsed rows are not visible to the user even if their 
            <see cref="P:C1.Win.C1FlexGrid.RowCol.Visible" /> property is set to true.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.IsVisible">
      <summary>
            Gets whether this row is currently visible to the user.
            </summary>
      <remarks>
        <para>This property returns true if the <see cref="P:C1.Win.C1FlexGrid.RowCol.Visible" /> property
            is set to true and the row is collapsed (<see cref="P:C1.Win.C1FlexGrid.RowCol.IsCollapsed" /> 
            property returns false).</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.Selected">
      <summary>
            Gets or sets whether this row or column is selected.
            </summary>
      <remarks>
            Use this property to get or set the selection state for individual rows when the grid's 
            <see cref="T:System.Windows.Forms.SelectionMode" /> property is set to <see cref="F:C1.Win.C1FlexGrid.SelectionModeEnum.ListBox" />.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.UserData">
      <summary>
            Gets or sets user data associated with this row or column.
            </summary>
      <remarks>
            The UserData value is not used internally by the grid. It is reserved for additional data that 
            the application may associate with rows or columns.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.AllowDragging">
      <summary>
            Gets or sets whether the user can drag this row or column with the mouse.
            </summary>
      <remarks>
        <para>The grid object also has an <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowDragging" /> property.
            If dragging is disabled at the grid level, the user will not be able to drag any rows or columns.</para>
        <para>If dragging is allowed by the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowDragging" /> property, then
            dragging of individual rows and columns can still be disabled by setting this property to false.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.AllowResizing">
      <summary>
            Gets or sets whether the user can resize this row or column with the mouse.
            </summary>
      <remarks>
        <para>To resize rows or columns, the mouse must be over the fixed area of the grid, and close to a border 
            between rows or columns. The mouse pointer will then change into a sizing pointer and the user can drag 
            the row or column to change the row height or column width.</para>
        <para>If a group of columns is selected (from first to last row) and the user resizes one of them, all 
            selected columns are resized. The same applies to rows.</para>
        <para>If column sizing is allowed, users may double-click the resizing area to resize a column so it will 
            automatically fit the longest entry.</para>
        <para>Rows with zero height and columns with zero width can't be resized by the user. If you want to make 
            them very small but still resizable, set their height or width to one pixel, not to zero.</para>
        <para>The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeRow" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeResizeColumn" /> 
            events fire before resizing starts, and may be used to prevent resizing of specific rows and columns. 
            The <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeRow" /> and <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.AfterResizeColumn" /> 
            fire after resizing, and may be used to validate the user's action and to update the display.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.AllowMerging">
      <summary>
            Specifies whether adjacent cells with similar contents will be merged.
            </summary>
      <remarks>
        <para>Merging cells allows you to display data in a clear, appealing way because it highlights groups of identical 
            information. It also gives you flexibility to build tables similar to the ones you can create in HTML or using 
            Microsoft Word, both of which support merged cells.</para>
        <para>To create tables with merged cells, you must set the <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowMerging" /> property to a value other 
            than <see cref="F:C1.Win.C1FlexGrid.AllowMergingEnum.None" />, and then set the <see cref="P:C1.Win.C1FlexGrid.RowCol.AllowMerging" /> property of individual 
            rows and columns true for the rows and columns you wish to merge.</para>
        <para>After these properties are set, the grid will automatically merge adjacent cells that have the same 
            contents. Whenever the cell contents change, the grid updates the merging state.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.AllowEditing">
      <summary>
            Gets or sets whether cells on this row or column can be edited by the user.
            </summary>
      <remarks>
        <para>The grid object also has an <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> property.
            If editing is disabled at the grid level, the user will not be able to edit any cells.</para>
        <para>If editing is allowed by the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> property, then
            editing of individual rows and columns can still be disabled by setting this property to false.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.DataType">
      <summary>
            Gets or sets the type of object stored in this row or column.
            </summary>
      <remarks>
        <para>By default, the column's DataType property is set to <see cref="T:System.Object" />, which allows you to store 
            any data values in the column.</para>
        <para>If you set a row or column's DataType to a specific type, the grid will try to convert any values assigned 
            to cells in that column to the specified data type. If the conversion fails, the grid will fire a
            <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GridError" /> event and the cell value will not be changed.
            </para>
        <para>The DataType property affects how values are stored internally in the grid, how they are sorted, and the 
            type of control that is used to edit the values in the column. For example, a <see cref="T:System.Windows.Forms.DateTimePicker" /> 
            control is used to edit values in <see cref="T:System.DateTime" /> columns, and check boxes are used to display and edit 
            values in Boolean columns.</para>
        <para>If you want to store times (not dates) in a column, you can still use the DateTime type, but you should 
            use a <see cref="P:C1.Win.C1FlexGrid.RowCol.Format" /> that displays only the time, not the date.
            </para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.Format">
      <summary>
            Gets or sets a string that specifies how to format the data on this column.
            </summary>
      <remarks>
        <para>The Format property affects how values are formatted for display, not the values stored internally. 
            To retrieve the formatted value of a cell, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetDataDisplay(System.Int32,System.Int32)" /> property.</para>
        <para>The Format string has the same semantics as the format argument in the .NET <see cref="M:System.String.Format(System.String,System.Object)" />
            method. For details and a complete set of examples, see the .NET documentation.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.EditMask">
      <summary>
            Gets or sets the input mask to use when editing cells on this column.
            </summary>
      <remarks>
            The grid also has an <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.EditMask" /> property that applies to the entire grid. 
            For details and mask syntax, refer to that property.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.Index">
      <summary>
            Gets the index of this row or column in its parent collection.
            </summary>
      <remarks>
        <para>This property returns -1 if the row or column is not a member of the collection.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.Style">
      <summary>
            Gets or sets a custom <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> associated with this row or column.
            </summary>
      <remarks>
            If the row or column does not have a custom style, this property returns null.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.StyleNew">
      <summary>
            Gets or sets a custom <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> associated with this row or column, creating a new
            style if necessary.
            </summary>
      <remarks>
            This property never returns null. If this element does not have a custom style, a new one will be
            created automatically and returned.
            </remarks>
      <example>
            The code below sets a column's background color to red.
            <code>
            // get the style associated with column 1 (create a new one if necessary)
            CellStyle cs = _flex.Cols[1].StyleNew.BackColor;
            
            // set the new style's back color to red
            cs.BackColor = Color.Red;
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.StyleDisplay">
      <summary>
            Gets the style used to display this row or column.
            </summary>
      <remarks>
            This property never returns null. If the row or column has a custom style, this property returns that style. 
            Otherwise, it returns the stock style used to display the row (e.g., Normal, Alternate, Fixed, Frozen).
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.StyleFixed">
      <summary>
            Gets the stock <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> used to paint fixed cells in this row or column.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.StyleFixedNew">
      <summary>
            Gets the custom style associated with fixed cells on this row or column, creating a new one of necessary.
            </summary>
      <remarks>
            If the row or column has a custom style associated with its fixed cells, this property returns that style. 
            Otherwise, it creates a new <see cref="T:C1.Win.C1FlexGrid.CellStyle" />, assigns it to the row or column, and returns a reference 
            to the new style.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.StyleFixedDisplay">
      <summary>
            Gets the style used to display fixed cells on this row or column.
            </summary>
      <remarks>
            If the row or column has a custom style associated with its fixed cells, this property returns that style. 
            Otherwise, it returns the stock style used to display the column (e.g., Normal, Fixed).
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.TextAlign">
      <summary>
            Gets or sets a <see cref="T:C1.Win.C1FlexGrid.TextAlignEnum" /> value that determines how text is aligned in 
            scrollable cells on this row or column.
            </summary>
      <remarks>
            This property gets or sets the alignment value specified by the <see cref="T:C1.Win.C1FlexGrid.CellStyle" />
            object associated with the column.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.TextAlignFixed">
      <summary>
            Gets or sets a <see cref="T:C1.Win.C1FlexGrid.TextAlignEnum" /> value that determines how text is aligned in 
            fixed cells on this row or column.
            </summary>
      <remarks>
            This property gets or sets the alignment value specified by the <see cref="T:C1.Win.C1FlexGrid.CellStyle" />
            object associated with the fixed cells in the row or column.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.ImageAlign">
      <summary>
            Gets or sets an <see cref="T:C1.Win.C1FlexGrid.ImageAlignEnum" /> value that determines how images are aligned in 
            scrollable cells on this row or column.
            </summary>
      <remarks>
            This property gets or sets the alignment value specified by the <see cref="T:C1.Win.C1FlexGrid.CellStyle" />
            object associated with the column.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.ImageAlignFixed">
      <summary>
            Gets or sets an <see cref="T:C1.Win.C1FlexGrid.ImageAlignEnum" /> value that determines how images are aligned in 
            fixed cells on this row or column.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.ImageMap">
      <summary>
            Gets or sets an <see cref="T:System.Collections.IDictionary" /> object used to translate data values into images for this row or column.
            </summary>
      <remarks>
        <para>Use this property to associate data values in this row or column with images. For example, if a column contains 
            country names, you can use this property to display the corresponding flags.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageAndText" /> property to determine whether the image is displayed instead of or in 
            addition to the cell text.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.ImageAndText">
      <summary>
            Gets or sets a value that determines whether images found in this row or column's <see cref="P:C1.Win.C1FlexGrid.RowCol.ImageMap" /> should 
            be displayed instead of or in addition to the cell text.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.DataMap">
      <summary>
            Gets or sets an <see cref="T:System.Collections.IDictionary" /> object used to translate data values into display values 
            for this row or column.
            </summary>
      <remarks>
        <para>The <b>DataMap</b> property allows you to implement "translated" rows or columns. In translated rows or columns, 
            the grid does not display the values stored in the cells. Instead, it looks up those values in the column's 
            <b>DataMap</b> and displays the mapped value.</para>
        <para>The grid also uses the <b>DataMap</b> value to populate drop-down lists when the column is editable.</para>
        <para>Note that the <b>DataMap</b> property has no effect when the <see cref="P:C1.Win.C1FlexGrid.RowCol.ComboList" /> property is also
            set. Using both properties on a single row or column is legal, but it effectively disables the <b>DataMap</b>.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.ComboList">
      <summary>
            Gets or sets a list of items to be used by the drop-down editor.
            </summary>
      <remarks>
        <para>The <b>ComboList</b> property specifies the type of editor to be used when editing a cell. You may use a text box, 
            drop-down list, drop-down combo, or an edit button to pop up custom editor forms.</para>
        <para>To use the <b>ComboList</b> property, set the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowEditing" /> property to True, and 
            set the <b>ComboList</b> property to a string that describes the type of editing you want to use for that cell. 
            The options are described below:</para>
        <para>1. To edit the cell using a regular text box, set the <b>ComboList</b> property to an empty string ("").</para>
        <para>2. To edit the cell using a drop-down list, set the <b>ComboList</b> property to a string containing the available 
            options, separated by pipe characters (for example "option 1| option 2").</para>
        <para>3. To edit the cell using a drop-down combo, set the <b>ComboList</b> property to a string containing the 
            available options, separated by pipe characters and starting with a pipe character (for example "|option 1|option 2").</para>
        <para>4. To display an edit button, set the <b>ComboList</b> property to a string containing an ellipsis ("..."). 
            Edit buttons look like regular push buttons, aligned to the right of the cell, with an ellipsis as a caption. 
            When the user clicks on the edit button, the grid fires the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonClick" /> event. 
            In this case, the user can't edit the cell contents directly.</para>
        <para>5. To display an edit button next to an editable cell, set the <b>ComboList</b> property to a string containing a 
            pipe and an ellipsis ("|..."). In this case, you get a regular edit button but the user can also edit the cell 
            contents directly.</para>
        <para>Note that the <b>ComboList</b> property has precedence over the <see cref="P:C1.Win.C1FlexGrid.RowCol.DataMap" /> property.
            Using both properties on a single row or column is legal, but it effectively disables the <b>DataMap</b>.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.Editor">
      <summary>
            Gets or sets the custom editor used to edit cells in this column.
            </summary>
      <remarks>
        <para>The grid provides several built-in editors that are automatically selected based on the properties of the
            cell being edited.</para>
        <para>This property allows you to use external editors when editing values in a given column. Any control 
            can be used as an external editor, but to achieve complete integration with the grid, the external editor should 
            implement the <see cref="T:C1.Win.C1FlexGrid.IC1EmbeddedEditor" /> interface.</para>
        <para>You can associate external editors with columns at design time (using the grid's Column Editor) or at run 
            time, by setting this property.</para>
      </remarks>
      <example>
        <para>The code below creates a C1DateEdit control and assigns it to the <see cref="P:C1.Win.C1FlexGrid.RowCol.Editor" /> property of a grid
            column. The control will be used to edit cells on this column instead of the default <see cref="T:System.Windows.Forms.DateTimePicker" />
            control.</para>
        <para>All controls in the C1Input library implement the <see cref="T:C1.Win.C1FlexGrid.IC1EmbeddedEditor" /> interface and can be
            used as grid editors without any extra code.</para>
        <code>
            // create C1DateEdit control (included with C1Input)
            C1DateEdit dateEdit = new C1DateEdit();
            
            // use the new control as an editor for a grid column
            _flex.Cols[1].DataType = typeof(DateTime);
            _flex.Cols[1].Editor = c1DateEdit;
            </code>
      </example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCol.Clear(C1.Win.C1FlexGrid.ClearFlags)">
      <summary>
            Clears the contents of the row or column.
            </summary>
      <param name="clearFlags">
        <see cref="T:C1.Win.C1FlexGrid.ClearFlags" /> value specifying which elements of the row or
            column should be cleared.</param>
      <remarks>
            Use this method to reset column properties to their default values (width, visibility, style, 
            user data, and so on). This method only clears the column object itself, it does not clear 
            the contents of the cells in the column.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCol.Move(System.Int32)">
      <summary>
            Moves this row or column to a new position in the collection.
            </summary>
      <param name="indexNew">An integer specifying the new position.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCol.Grid">
      <summary>
            Gets a reference to the <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> control that owns this row or column.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCol.Invalidate">
      <summary>
            Invalidates an individual row or column, causing it to be repainted.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Row">
      <summary>
            Class that represents a grid row.
            </summary>
      <remarks>
            This class does not have a public constructor. You can add and remove rows using methods
            in the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Rows" /> property, which exposes the row collection.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Item(System.Int32)">
      <summary>
            Gets or sets the cell value specified by the column index in this row.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Item(System.String)">
      <summary>
            Gets or sets the cell value specified by the column name in this row.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Top">
      <summary>
            Gets the position of the top of this row, in pixels, relative to the grid.
            </summary>
      <remarks>
        <para>The value returned is the sum of row heights from the top of the grid until this row, and 
            does not account for the scroll position. To account for the scroll position, this value should
            be adjusted using the grid's <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition" /> 
            property.</para>
        <para>To retrieve the size and position of a cell, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRect(System.Int32,System.Int32,System.Boolean)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Bottom">
      <summary>
            Gets the position of the bottom of this row, in pixels, relative to the grid.
            </summary>
      <remarks>
            The value returned corresponds to the sum of the <see cref="P:C1.Win.C1FlexGrid.Row.Top" /> and <see cref="P:C1.Win.C1FlexGrid.Row.HeightDisplay" /> properties.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Height">
      <summary>
            Gets or sets the height of this row, in pixels (the value -1 represents the default row height).
            </summary>
      <remarks>
        <para>Setting this property to -1 causes the grid to use the default row height for this row
            (see the <see cref="P:C1.Win.C1FlexGrid.RowColCollection.DefaultSize" /> property).</para>
        <para>Height returns the height assigned to the row even if the row is invisible, and returns -1 
            if the row has the default height. To obtain the actual display height of a row, use the 
            <see cref="P:C1.Win.C1FlexGrid.Row.HeightDisplay" /> property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.HeightDisplay">
      <summary>
            Gets or sets the display height for this row, in pixels.
            </summary>
      <remarks>
            HeightDisplay returns zero if the row is invisible, and returns the actual display height
            even if the <see cref="P:C1.Win.C1FlexGrid.Row.Height" /> property is set to -1 (which stands for default row height).
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Index">
      <summary>
            Gets the index of this row in the <see cref="T:C1.Win.C1FlexGrid.RowCollection" /> collection.
            </summary>
      <remarks>
        <para>This property returns -1 if the <see cref="T:C1.Win.C1FlexGrid.Row" /> is not a member of the collection.</para>
        <para>See also the <see cref="P:C1.Win.C1FlexGrid.Row.SafeIndex" /> and <see cref="P:C1.Win.C1FlexGrid.Row.DataIndex" /> properties.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.SafeIndex">
      <summary>
            Gets the index of this row in the <see cref="T:C1.Win.C1FlexGrid.RowCollection" /> collection.
            </summary>
      <remarks>
            This property is similar to the <see cref="P:C1.Win.C1FlexGrid.Row.Index" /> property, except it throws an exception 
            if the <see cref="T:C1.Win.C1FlexGrid.Row" /> is not a member of the collection.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.DataIndex">
      <summary>
            Gets the index of this row in the <see cref="T:C1.Win.C1FlexGrid.RowCollection" /> collection, excluding fixed and node rows.
            </summary>
      <remarks>
        <para>This property returns -1 if the row is a fixed or node row.</para>
        <para>If the grid is bound to a data source, the return value can be used as an indexer into the grid's data 
            source to obtain a reference to the item bound to the row.</para>
        <para>You can also obtain the underlying data object directly using the row's <see cref="P:C1.Win.C1FlexGrid.Row.DataSource" /> property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Caption">
      <summary>
            Gets or sets the text of the first fixed cell in the row.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.IsNew">
      <summary>
            Indicates the row is a placeholder for adding new rows to the grid.
            </summary>
      <remarks>
            This property returns true for the last row on the grid when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowAddNew" /> 
            property is set to true. This is the row that has an asterisk glyph on the first fixed column.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.DataSource">
      <summary>
            Gets the object that provides data for this row.
            </summary>
      <remarks>
        <para>The type of object returned depends on the type of DataSource assigned to the grid. For example, 
            if the grid is bound to a <see cref="T:System.Data.DataView" /> object, then this property will return the 
            specific <see cref="T:System.Data.DataRowView" /> object that is bound to this row.</para>
        <para>This property returns null if the grid is unbound, or if the row is a fixed or node row that doesn't 
            correspond to any objects in the grid's data source.</para>
        <para>For an example, see the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.GetUnboundValue" /> event.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Row.Clear(C1.Win.C1FlexGrid.ClearFlags)">
      <summary>
            Clears this row.
            </summary>
      <param name="clearFlags">
        <see cref="T:C1.Win.C1FlexGrid.ClearFlags" /> value specifying which elements of the row should be cleared.</param>
      <remarks>
            Use this method to reset row properties to their default values (height, visibility, style, user data, etc.).
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Row.Move(System.Int32)">
      <summary>
            Moves a row to a new position in the collection.
            </summary>
      <param name="indexNew">An integer specifying the row's new position.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.IsNode">
      <summary>
            Gets or sets whether this row is a node row in an outline.
            </summary>
      <remarks>
        <para>This property determines whether the row behaves as a node in an outline tree.</para>
        <para>You can use <see cref="P:C1.Win.C1FlexGrid.Row.IsNode" /> to create custom outline trees, or use the grid's 
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method to create outline trees automatically.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Node">
      <summary>
            Gets the <see cref="P:C1.Win.C1FlexGrid.Row.Node" /> object associated with this row.
            </summary>
      <remarks>
        <para>If the row is a node (see the <see cref="P:C1.Win.C1FlexGrid.Row.IsNode" /> property), this property returns a 
            <see cref="P:C1.Win.C1FlexGrid.Row.Node" /> object that can be used to collapse or expand the node, set its level within 
            the outline tree, etc.</para>
        <para>If the row is not a node, this property gets the row's parent node.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Row.Selected">
      <summary>
            Gets or sets whether this row is selected.
            </summary>
      <remarks>
            Use this property to get or set the selection status for individual rows when the grid's 
            <see cref="T:System.Windows.Forms.SelectionMode" /> property is set to <see cref="F:C1.Win.C1FlexGrid.SelectionModeEnum.ListBox" />.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Row.Invalidate">
      <summary>
            Invalidates this row, causing it to be repainted.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Column">
      <summary>
            Class that represents a grid column.
            </summary>
      <remarks>
            This class does not have a public constructor. You can add and remove 
            columns using methods in the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Cols" /> 
            property, which exposes the column collection.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Item(System.Int32)">
      <summary>
            Gets or sets the cell value specified by the row index in this column.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Left">
      <summary>
            Gets the position of the left of this column, in pixels, relative to the grid.
            </summary>
      <remarks>
        <para>The value returned is the sum of column widths from the left of the grid until this column, and 
            does not account for the scroll position. To account for the scroll position, this value should
            be adjusted using the grid's <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition" />
            property.</para>
        <para>To retrieve the size and position of a cell, use the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.GetCellRect(System.Int32,System.Int32,System.Boolean)" /> method.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Right">
      <summary>
            Gets the position of the right of this column, in pixels, relative to the grid.
            </summary>
      <remarks>
            The value returned corresponds to the sum of the <see cref="P:C1.Win.C1FlexGrid.Column.Left" /> and <see cref="P:C1.Win.C1FlexGrid.Column.WidthDisplay" /> properties.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Width">
      <summary>
            Gets or sets the width of this column, in pixels (the value -1 represents the default column width).
            </summary>
      <remarks>
        <para>Setting this property to -1 causes the grid to use the default column width for this column
            (see the <see cref="P:C1.Win.C1FlexGrid.RowColCollection.DefaultSize" /> property).</para>
        <para>
          <b>Width</b> returns the width assigned to the column even if the row is invisible, and 
            returns -1 if the row has the default height. To obtain the actual display width of a column, 
            use the <see cref="P:C1.Win.C1FlexGrid.Column.WidthDisplay" /> property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.WidthDisplay">
      <summary>
            Gets or sets the display width for this column, in pixels.
            </summary>
      <remarks>
            WidthDisplay returns zero if the column is invisible, and returns the actual display width
            even if the <see cref="P:C1.Win.C1FlexGrid.Column.Width" /> property is set to -1 (which stands for default column width).
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.SafeIndex">
      <summary>
            Gets the index of this column in the <see cref="T:C1.Win.C1FlexGrid.Column" /> collection.
            </summary>
      <remarks>
            This property is similar to the <see cref="P:C1.Win.C1FlexGrid.Column.Index" /> property, except it throws an exception 
            if the <see cref="T:C1.Win.C1FlexGrid.Column" /> is not a member of the collection.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.DataIndex">
      <summary>
            Gets the position of the column in the data source object.
            </summary>
      <remarks>
            This property returns -1 for fixed and unbound columns.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.AllowNull">
      <summary>
            Gets or sets that cells in the <see cref="T:C1.Win.C1FlexGrid.Column" /> will accept null value or null will be replaced by default value in unbound mode.
            </summary>
      <remarks>
            This property works only if <b>IsValueType</b> member of <see cref="P:C1.Win.C1FlexGrid.RowCol.DataType" /> property 
            equals to True and for type <see cref="T:System.String" />.
            If value was changed to False then all null values in the <see cref="T:C1.Win.C1FlexGrid.Column" /> will be 
            replaced by defaults of current <see cref="P:C1.Win.C1FlexGrid.RowCol.DataType" />.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.AllowSorting">
      <summary>
            Gets or sets whether this column can be sorted by clicking on the column header.
            </summary>
      <remarks>
            The grid has an <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowSorting" /> property that determines whether columns can be 
            sorted with the mouse. The AllowSorting property of the <see cref="T:C1.Win.C1FlexGrid.Column" /> objects can be used to prevent 
            the user from sorting specific columns.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.AllowFiltering">
      <summary>
            Gets or sets this type of filter to use for this column.
            </summary>
      <remarks>
        <para>The grid has an <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFiltering" /> property that determines whether 
            columns can be filtered by the user. If that property is set to true, then filters are created
            automatically for each column based on the setting of the column's <see cref="P:C1.Win.C1FlexGrid.Column.AllowFiltering" />
            property.</para>
        <para>The grid provides condition and value filters. Condition filters allow users to specify
            conditions such as 'value &gt; 10'. Value filters allow users to select values that should be displayed
            from a list of values present in the data source. All filters can be customized in code as shown
            in the examples below.</para>
      </remarks>
      <example>
            The code below customizes the filters for two columns. The "ShipRegion" column is initialized to 
            show only two states, AK and CA. The "UnitPrice" column is initialized to show only items with
            unit price greater than $30. After the column filters have been initialized, the code calls the
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.ApplyFilters" /> method to apply the filters.
            <code>
            // initialize "ShipRegion" column filter to show only two values: "AK" and "CA"
            var col = _flex.Cols["ShipRegion"];
            col.AllowFiltering = AllowFiltering.ByValue;
            var vf = col.Filter as ValueFilter;
            vf.ShowValues = new object[] { "AK", "CA" };
            
            // initialize "UnitPrice" column filter to show only values greater than $30
            col = _flex.Cols["UnitPrice"];
            col.AllowFiltering = AllowFiltering.ByCondition;
            var cf = col.Filter as ConditionFilter;
            cf.Condition1.Operator = ConditionOperator.GreaterThan;
            cf.Condition1.Parameter = 30;
            
            // apply both column filters to the data
            _flex.ApplyFilters();
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Filter">
      <summary>
            Gets or sets the <see cref="T:C1.Win.C1FlexGrid.IC1ColumnFilter" /> responsible for filtering this column.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.ActiveFilter">
      <summary>
            Gets the <see cref="T:C1.Win.C1FlexGrid.IC1ColumnFilter" /> that is currently filtering this column.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Name">
      <summary>
            Gets or sets the name of this column.
            </summary>
      <remarks>
        <para>The name can be used as an index in the <see cref="T:C1.Win.C1FlexGrid.ColumnCollection" /> property indexer.</para>
        <para>When the grid is bound to a DataSource, the column names are set automatically to the names
            of columns in the data source, and are used for binding.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Sort">
      <summary>
            Specifies how this column should be sorted when the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method is called
            with a <see cref="F:C1.Win.C1FlexGrid.SortFlags.UseColSort" /> flag.
            </summary>
      <remarks>
            Use this property when you want to sort multiple columns in different orders. For example, you could
            set the <b>Sort</b> property to <see cref="F:C1.Win.C1FlexGrid.SortFlags.Ascending" /> for columns 1, 2, and 3, and to
            <see cref="F:C1.Win.C1FlexGrid.SortFlags.Descending" /> for columns 4, 5, and 6.
            You would then call the grid's <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method with the <b>sort</b> parameter
            set to <see cref="F:C1.Win.C1FlexGrid.SortFlags.UseColSort" /> to perform the sort using the order specified for each column.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Index">
      <summary>
            Gets the index of this column in the <see cref="T:C1.Win.C1FlexGrid.Column" /> collection.
            </summary>
      <remarks>Returns -1 if the column is not a member of the collection.</remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Selected">
      <summary>
            Gets or sets whether this column is selected.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Column.Invalidate">
      <summary>
            Invalidates this column, causing it to be repainted.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.Caption">
      <summary>
            Gets or sets the text of the column's header cell.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Column.Clear(C1.Win.C1FlexGrid.ClearFlags)">
      <summary>
            Clears this <see cref="T:C1.Win.C1FlexGrid.Column" />.
            </summary>
      <param name="clearFlags">
        <see cref="T:C1.Win.C1FlexGrid.ClearFlags" /> value specifying which elements of the 
            <see cref="T:C1.Win.C1FlexGrid.Column" /> should be cleared.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Column.Move(System.Int32)">
      <summary>
            Moves a <see cref="T:C1.Win.C1FlexGrid.Column" /> to a new position in the collection.
            </summary>
      <param name="indexNew">An integer specifying the column's new position.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Column.ShowButtons">
      <summary>
            Gets or sets when to display combo buttons in cells.
            </summary>
      <remarks>
        <para>By default, the column will show editing buttons in cells only when they
            have the focus. This is the same behavior used by the <see cref="T:System.Windows.Forms.PropertyGrid" />
            control.</para>
        <para>If you set <see cref="P:C1.Win.C1FlexGrid.Column.ShowButtons" /> to <see cref="F:C1.Win.C1FlexGrid.ShowButtonsEnum.Always" />,
            the column will display buttons on any cells that have associated lists, even if they
            don't have the focus.</para>
        <para>For details on how to associate lists with cells, see the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ComboList" />,
            <see cref="P:C1.Win.C1FlexGrid.RowCol.ComboList" />, and <see cref="P:C1.Win.C1FlexGrid.RowCol.DataMap" /> properties.</para>
      </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RowColCollection">
      <summary>
            Base class for grid row and column collections (<see cref="T:C1.Win.C1FlexGrid.RowCollection" /> 
            and <see cref="T:C1.Win.C1FlexGrid.ColumnCollection" /> classes).
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowColCollection.Count">
      <summary>
            Gets or sets the number of rows or columns in the collection.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowColCollection.Fixed">
      <summary>
            Gets or sets the number of fixed rows or columns in the collection.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowColCollection.Frozen">
      <summary>
            Gets or sets the number of frozen rows or columns in the collection.
            </summary>
      <remarks>
            Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFreezing" /> property to determine whether 
            the user can freeze rows or columns with the mouse.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowColCollection.Move(System.Int32,System.Int32)">
      <summary>
            Moves a row or column to a new position in the collection.
            </summary>
      <param name="indexOld">Index of row or column to be moved.</param>
      <param name="indexNew">New position.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowColCollection.MoveRange(System.Int32,System.Int32,System.Int32)">
      <summary>
            Moves a range of rows or columns to a new position in the collection.
            </summary>
      <param name="index">The index of the first row or column in the range to be moved.</param>
      <param name="count">The number of rows or columns that will be moved.</param>
      <param name="indexNew">New position.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowColCollection.Contains(C1.Win.C1FlexGrid.RowCol)">
      <summary>
            Determines whether the collection contains a given row or column.
            </summary>
      <param name="item">Row or column items to be detected.</param>
      <returns>True if the row or column is a member of the collection, False otherwise.</returns>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowColCollection.MinSize">
      <summary>
            Gets or sets the minimum size for rows and columns in the collection.
            </summary>
      <remarks>
            The MinSize property limits the minimum size of rows or columns when they are resized by the user or 
            adjusted to fit the contents with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeRows(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> or
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> method.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowColCollection.MaxSize">
      <summary>
            Gets or sets the maximum size for rows and columns in the collection.
            </summary>
      <remarks>
        <para>The MaxSize property limits the maximum size of rows or columns when they are resized by the user or 
            adjusted to fit the contents with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeRows(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> or 
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSizeCols(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,C1.Win.C1FlexGrid.AutoSizeFlags)" /> method.</para>
        <para>Setting this property to zero disables it.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowColCollection.DefaultSize">
      <summary>
            Gets or sets the default size of the rows or columns in the collection (in pixels).
            </summary>
      <remarks>
        <para>This value is set automatically when the grid's <see cref="P:System.Windows.Forms.Control.Font" /> property changes.</para>
        <para>The default size is used when the row's <b>Height</b> property or columns <b>Width</b> property is set to -1.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowColCollection.Grid">
      <summary>
            Gets a reference to the <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> control that owns this collection.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowColCollection.GetPrevious(System.Int32)">
      <summary>
            Gets the index of the previous visible row or column.
            </summary>
      <param name="item">Index of the original row or column.</param>
      <returns>Index of the previous visible row or column.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowColCollection.GetNext(System.Int32)">
      <summary>
            Gets the index of the next visible row or column.
            </summary>
      <param name="item">Index of the original row or column.</param>
      <returns>Index of the next visible row or column.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowColCollection.Update">
      <summary>
            Updates the position of rows or columns.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RowCollection">
      <summary>
            Collection of grid <see cref="T:C1.Win.C1FlexGrid.Row" /> objects.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCollection.Item(System.Int32)">
      <summary>
            Gets the <see cref="T:C1.Win.C1FlexGrid.Row" /> at the specified index.
            </summary>
      <remarks>
            Use the <see cref="T:C1.Win.C1FlexGrid.Row" /> object returned by this method to set attributes such as row 
            height, visibility, style, selected state, and so on.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCollection.Count">
      <summary>
            Gets or sets the number of rows in the collection.
            </summary>
      <remarks>
            You can add or remove rows by assigning a new value to this property, or you can use the 
            <see cref="M:C1.Win.C1FlexGrid.RowCollection.Add" />, <see cref="M:C1.Win.C1FlexGrid.RowCollection.Insert(System.Int32)" />, <see cref="M:C1.Win.C1FlexGrid.RowCollection.InsertRange(System.Int32,System.Int32)" />, and <see cref="M:C1.Win.C1FlexGrid.RowCollection.Remove(System.Int32)" /> methods.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCollection.GlyphRow">
      <summary>
            Gets or sets the index of the row used to display the sorting and filtering glyphs.
            </summary>
      <remarks>
            The default value is -1, which causes the sorting and filtering glyphs to be shown
            on the last fixed row. If you set this property to a value larger than the number
            of fixed rows, then the glyphs will not be displayed.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCollection.Fixed">
      <summary>
            Gets or sets the number of fixed rows in the collection.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.RowCollection.Selected">
      <summary>
            Gets a collection of <see cref="T:C1.Win.C1FlexGrid.Row" /> objects that are currently selected.
            </summary>
      <remarks>
            This property is especially useful when the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.SelectionMode" /> property
            is set to <see cref="F:C1.Win.C1FlexGrid.SelectionModeEnum.ListBox" />. 
            </remarks>
      <example>
        <para>The code below removes all selected rows from the grid.</para>
        <para>Note that foreach loops can't be used to modify the collections being iterated over. This example
            works because the <see cref="P:C1.Win.C1FlexGrid.RowCollection.Selected" /> collection is being enumerated while the
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Rows" /> collection is being modified.</para>
        <code>
            // delete all selected rows
            foreach (Row r in _flex.Rows.Selected)
            {
                _flex.Rows.Remove(r);
            }
            </code>
      </example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.Add">
      <summary>
            Appends a new <see cref="T:C1.Win.C1FlexGrid.Row" /> object to the collection.
            </summary>
      <remarks>
            The Add method appends a new row to the collection. To insert a row at a specific position, 
            use the <see cref="M:C1.Win.C1FlexGrid.RowCollection.Insert(System.Int32)" /> method.
            </remarks>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Row" /> that was added to the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.Add(System.Int32)">
      <summary>
            Appends a given number of <see cref="T:C1.Win.C1FlexGrid.Row" /> objects to the collection.
            </summary>
      <param name="count">Number of rows to add to the collection.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.Insert(System.Int32)">
      <summary>
            Adds a new <see cref="T:C1.Win.C1FlexGrid.Row" /> object to the collection at a specified position.
            </summary>
      <param name="index">The position where the new row will be inserted.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Row" /> that was added to the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.InsertNode(System.Int32,System.Int32)">
      <summary>
            Adds a new <see cref="T:C1.Win.C1FlexGrid.Node" /> row to the row collection at a specified position.
            </summary>
      <param name="index">The position where the new node row will be inserted.</param>
      <param name="level">Outline level for the new node row.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Node" /> that was added to the collection.</returns>
      <remarks>
            This method is especially useful when the grid is bound to a data source, because in this 
            case you can't change the value of the <see cref="P:C1.Win.C1FlexGrid.Row.IsNode" /> property. When the grid 
            is unbound, you can add rows and turn them into nodes later using the <see cref="P:C1.Win.C1FlexGrid.Row.IsNode" /> property.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.AddNode(System.Int32)">
      <summary>
            Appends a new <see cref="T:C1.Win.C1FlexGrid.Node" /> row to the row collection.
            </summary>
      <param name="level">Outline level for the new node row.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Node" /> that was added to the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.InsertRange(System.Int32,System.Int32)">
      <summary>
            Adds a range of rows to the collection at a specified position.
            </summary>
      <param name="index">The position where the new range will be inserted.</param>
      <param name="count">The number of rows to add.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.Remove(System.Int32)">
      <summary>
            Removes a <see cref="T:C1.Win.C1FlexGrid.Row" /> object from the collection.
            </summary>
      <param name="index">The index of the row to remove from the collection.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Row" /> that was removed from the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.Remove(C1.Win.C1FlexGrid.Row)">
      <summary>
             Removes a <see cref="T:C1.Win.C1FlexGrid.Row" /> object from the collection.
            </summary>
      <param name="row">The row to be removed.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Row" /> that was removed from the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.RemoveRange(System.Int32,System.Int32)">
      <summary>
            Removes a range of rows from the collection.
            </summary>
      <param name="index">The index of the first row to remove from the collection.</param>
      <param name="count">The number of rows to remove from the collection.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.Move(System.Int32,System.Int32)">
      <summary>
            Move a <see cref="T:C1.Win.C1FlexGrid.Row" /> object to a new position in the collection.
            </summary>
      <param name="indexOld">Index of row to be moved.</param>
      <param name="indexNew">New position for the row.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.MoveRange(System.Int32,System.Int32,System.Int32)">
      <summary>
            Moves a range of rows to a new position in the collection.
            </summary>
      <param name="index">The index of the first row in the range that will be moved.</param>
      <param name="count">The number of rows that will be moved.</param>
      <param name="indexNew">New position for the first row in the range.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.RowCollection.Update">
      <summary>
            Updates the position and data index of each row in this collection.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ColumnCollection">
      <summary>
            Collection of grid <see cref="T:C1.Win.C1FlexGrid.Column" /> objects.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ColumnCollection.Item(System.Int32)">
      <summary>
            Gets the <see cref="T:C1.Win.C1FlexGrid.Column" /> at the specified index.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ColumnCollection.Item(System.String)">
      <summary>
            Gets the <see cref="T:C1.Win.C1FlexGrid.Column" /> that has the specified column name.
            </summary>
      <remarks>
        <para>You can use the <see cref="T:C1.Win.C1FlexGrid.Column" /> object returned by this method to set 
            attributes such as column height, visibility, style, selected state, and so on.</para>
        <para>This indexer looks for a column with the specified <see cref="P:C1.Win.C1FlexGrid.Column.Name" />. 
            The column name is set automatically for you when the grid is bound to a database, 
            or it may be set using code.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.Contains(System.String)">
      <summary>
            Gets a value that determines whether the collection contains a <see cref="T:C1.Win.C1FlexGrid.Column" /> with the given name.
            </summary>
      <param name="columnName">Column name to look for (case-insensitive).</param>
      <returns>True if the collection contains a column with the given name, False otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.IndexOf(System.String)">
      <summary>
            Gets the index of the <see cref="T:C1.Win.C1FlexGrid.Column" /> with the specified name.
            </summary>
      <param name="columnName">Column name to look for (case-insensitive).</param>
      <returns>Index of the column that has the given name in this collection, or -1 if the collection
            does not contain a column with the given name.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.IndexOf(System.String,System.Int32)">
      <summary>
            Gets the index of the <see cref="T:C1.Win.C1FlexGrid.Column" /> with the specified name. The search starts at a specified index.
            </summary>
      <param name="columnName">Column name to look for (case-insensitive).</param>
      <param name="startIndex">The search starting index.</param>
      <returns>Index of the column that has the given name in this collection, or -1 if the collection
            does not contain a column with the given name.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.IndexOf(System.String,System.Boolean)">
      <summary>
            Gets the index of the <see cref="T:C1.Win.C1FlexGrid.Column" /> with the specified name, optionally
            throwing an exception if the column is not found.
            </summary>
      <param name="columnName">Column name to look for (case-insensitive).</param>
      <param name="throwIfNotFound">Whether to throw and exception if the column cannot be found.</param>
      <returns>Index of the column that has the given name in this collection, or -1 if the collection
            does not contain a column with the given name.</returns>
      <remarks>If the <paramref name="throwIfNotFound" /> parameter is set to true and
            a column named <paramref name="columnName" /> cannot be found, the control throws
            an <see cref="T:System.ArgumentOutOfRangeException" />. This makes it easier to write
            compact code that relies on column names.</remarks>
      <example>
            The example below uses the <b>IndexOf</b> method to convert column names into
            indices. Note that if the column names are invalid, the exception will be thrown
            by the <b>IndexOf</b> method (column not found) rather than in the following 
            method, where it would not be as clear (invalid index).
            <code>
            int columnIndex = _flex.Cols.IndexOf("total");
            _flex.AutoSizeCol(columnIndex);
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.IndexOf(System.String,System.Boolean,System.Int32)">
      <summary>
            Gets the index of the <see cref="T:C1.Win.C1FlexGrid.Column" /> with the specified name, optionally
            throwing an exception if the column is not found. The search starts at a specified index.
            </summary>
      <param name="columnName">Column name to look for (case-insensitive).</param>
      <param name="throwIfNotFound">Whether to throw and exception if the column cannot be found.</param>
      <param name="startIndex">The search starting index.</param>
      <returns>Index of the column that has the given name in this collection, or -1 if the collection
            does not contain a column with the given name.</returns>
      <remarks>If the <paramref name="throwIfNotFound" /> parameter is set to true and
            a column named <paramref name="columnName" /> cannot be found, the control throws
            an <see cref="T:System.ArgumentOutOfRangeException" />. This makes it easier to write
            compact code that relies on column names.</remarks>
      <example>
            The example below uses the <b>IndexOf</b> method to convert column names into
            indices. Note that if the column names are invalid, the exception will be thrown
            by the <b>IndexOf</b> method (column not found) rather than in the following 
            method, where it would not be as clear (invalid index).
            <code>
            int columnIndex = _flex.Cols.IndexOf("total");
            _flex.AutoSizeCol(columnIndex);
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ColumnCollection.Count">
      <summary>
            Gets or sets the number of <see cref="T:C1.Win.C1FlexGrid.Column" /> objects in this collection.
            </summary>
      <remarks>
            You can add or remove columns by assigning a new value to this property, or you can use the 
            <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.Add" />, <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.Insert(System.Int32)" />, <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.InsertRange(System.Int32,System.Int32)" />, and <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.Remove(System.Int32)" /> methods.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ColumnCollection.Fixed">
      <summary>
            Gets or sets the number of fixed columns in this collection.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.Add">
      <summary>
            Appends a new <see cref="T:C1.Win.C1FlexGrid.Column" /> object to this collection.
            </summary>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Column" /> that was added to the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.Add(System.Int32)">
      <summary>
            Appends a given number of <see cref="T:C1.Win.C1FlexGrid.Column" /> objects to the collection.
            </summary>
      <param name="count">Number of columns to add to the collection.</param>
      <remarks>
            This method adds the new columns to the end of the collection. To insert columns at specific 
            positions, use the <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.Insert(System.Int32)" /> or <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.InsertRange(System.Int32,System.Int32)" /> methods.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.Insert(System.Int32)">
      <summary>
            Adds a new <see cref="T:C1.Win.C1FlexGrid.Column" /> object to this collection at a specified position.
            </summary>
      <param name="index">The position where the new column will be inserted.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Column" /> that was inserted to the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.InsertRange(System.Int32,System.Int32)">
      <summary>
            Adds a range of <see cref="T:C1.Win.C1FlexGrid.Column" /> objects to the collection at a specified position.
            </summary>
      <param name="index">The position where the new range will be inserted.</param>
      <param name="count">The number of columns to add.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.Remove(System.Int32)">
      <summary>
            Removes a <see cref="T:C1.Win.C1FlexGrid.Column" /> object from the collection.
            </summary>
      <param name="index">The index of the column to remove from the collection.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Column" /> that was removed from the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.Remove(C1.Win.C1FlexGrid.Column)">
      <summary>
            Removes a <see cref="T:C1.Win.C1FlexGrid.Column" /> object from the collection.
            </summary>
      <param name="column">The column to remove.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Column" /> that was removed from the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.Remove(System.String)">
      <summary>
            Removes a <see cref="T:C1.Win.C1FlexGrid.Column" /> object from the collection.
            </summary>
      <param name="columnName">Name of the column to remove.</param>
      <returns>A reference to the <see cref="T:C1.Win.C1FlexGrid.Column" /> that was removed from the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.RemoveRange(System.Int32,System.Int32)">
      <summary>
            Removes a range of <see cref="T:C1.Win.C1FlexGrid.Column" /> objects from the collection.
            </summary>
      <param name="index">The index of the first column to remove from the collection.</param>
      <param name="count">The number of columns to remove from the collection.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.Move(System.Int32,System.Int32)">
      <summary>
             Moves a <see cref="T:C1.Win.C1FlexGrid.Column" /> object to a new position in the collection.
            </summary>
      <param name="indexOld">Index of the column to be moved.</param>
      <param name="indexNew">New position for the column.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.MoveRange(System.Int32,System.Int32,System.Int32)">
      <summary>
            Moves a range of <see cref="T:C1.Win.C1FlexGrid.Column" /> objects to a new position in the collection.
            </summary>
      <param name="index">The index of the first column in the range that will be moved.</param>
      <param name="count">The number of columns that will be moved.</param>
      <param name="indexNew">New position for the first column in the range.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.ColumnCollection.Selected">
      <summary>
            Gets a collection of <see cref="T:C1.Win.C1FlexGrid.Column" /> objects that are currently selected.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.BuildString(System.Boolean)">
      <summary>
            Gets a string build a string that contains a complete description of 
            the column collection, suitable for persisting the control state.
            </summary>
      <param name="includeDefault">Whether to include default values in the description.</param>
      <returns>A string that describes the column collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.ColumnCollection.ParseString(C1.Win.C1FlexGrid.C1FlexGridBase,System.String)">
      <summary>
            Parses a string containg a description of the column collection (usually obtained
            by calling the <see cref="M:C1.Win.C1FlexGrid.ColumnCollection.BuildString(System.Boolean)" /> method) and applies it to a grid.
            </summary>
      <param name="grid">Grid that receives the column collection.</param>
      <param name="str">String that contains the column collection definition.</param>
      <returns>True if the column definition was applied successfully.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.FileFormatEnum">
      <summary>
            Specifies the type of file to save or load with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags,System.Text.Encoding)" /> 
            and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags,System.Text.Encoding)" /> methods.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFormatEnum.TextComma">
      <summary>
            Text file, cells separated with commas.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFormatEnum.TextTab">
      <summary>
            Text file, cells separated with tabs.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFormatEnum.TextCustom">
      <summary>
            Text file, cells separated with the character specified by the 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.ClipSeparators" /> property.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFormatEnum.Excel">
      <summary>
            Microsoft Excel files (Xls/biff-8 or OpenXml formats).
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.FileFlags">
      <summary>
            Specifies options for use with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags,System.Text.Encoding)" /> and 
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadGrid(System.String,C1.Win.C1FlexGrid.FileFormatEnum,C1.Win.C1FlexGrid.FileFlags,System.Text.Encoding)" /> methods.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.None">
      <summary>
            Use default settings.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.IncludeFixedCells">
      <summary>
            Include fixed cells when loading or saving the grid.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.VisibleOnly">
      <summary>
            Save only visible rows and columns.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.SelectedRowsOnly">
      <summary>
            Save only selected rows.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.AsDisplayed">
      <summary>
            Save values as displayed (including formatting and mapping where available).
            This flag has no effect when saving text files, which always contain values as displayed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.SaveMergedRanges">
      <summary>
            Save merged ranges when exporting to Excel with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags,System.Drawing.Printing.PrinterSettings)" /> method.
            This flag has no effect when saving text files, it only affects Excel output.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.LoadMergedRanges">
      <summary>
            Load merged ranges when importing from Excel with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags)" /> method.
            This flag has no effect when loading text files, it only affects Excel input.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.IncludeMergedRanges">
      <summary>
            Save and load merged ranges when exporting to or importing from Excel with the
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags,System.Drawing.Printing.PrinterSettings)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags)" /> methods.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.NoFreezing">
      <summary>
            Do not freeze rows and columns when exporting to or importing from Excel with the
            <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags,System.Drawing.Printing.PrinterSettings)" /> and <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.LoadExcel(System.String,System.String,C1.Win.C1FlexGrid.FileFlags)" /> methods.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.OpenXml">
      <summary>
            Load or save file in OpenXml (Office 2007) format.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.FileFlags.Outline">
      <summary>
            Save nodes as Excel groups when exporting to Excel.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.SelectionModeEnum">
      <summary>
            Specifies the type of selection provided by the grid.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SelectionModeEnum.Default">
      <summary>
            The user can select continuous blocks of cells using the keyboard and the mouse. 
            Clicking on header cells selects entire rows and columns.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SelectionModeEnum.Cell">
      <summary>
            The user can select only a single cell at a time.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SelectionModeEnum.CellRange">
      <summary>
            The user can select continuous blocks of cells using the keyboard and the mouse. 
            Clicking on header cells does not affect the selection.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SelectionModeEnum.Row">
      <summary>
            The user can select a single row at a time.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SelectionModeEnum.RowRange">
      <summary>
            The user can select a range of contiguous rows at a time.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SelectionModeEnum.Column">
      <summary>
            The user can select a single column at a time.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SelectionModeEnum.ColumnRange">
      <summary>
            The user can select a range of contiguous columns at a time.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.SelectionModeEnum.ListBox">
      <summary>
            The user can select non-contiguous rows using control-click.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.MoveCursorEnum">
      <summary>
            This enumeration is for internal use only.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.None">
      <summary>
            No movement.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.CellPrev">
      <summary>
            One cell left, then wrap to previous row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.CellNext">
      <summary>
            One cell right, then wrap to next row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.CellUp">
      <summary>
            One cell up.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.CellDown">
      <summary>
            One cell down.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.CellLeft">
      <summary>
            One cell left.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.CellRight">
      <summary>
            One cell right.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.PageUp">
      <summary>
            Page up.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.PageDown">
      <summary>
            Page down.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.PageLeft">
      <summary>
            Page left.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.PageRight">
      <summary>
            Page right.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.HomeUp">
      <summary>
            Top cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.EndDown">
      <summary>
            Bottom cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.HomeLeft">
      <summary>
            Leftmost cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.MoveCursorEnum.EndRight">
      <summary>
            Rightmost cell.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.CellStyleEnum">
      <summary>
            Enumeration used to retrieve <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> objects from the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Styles" />
            collection.
            </summary>
      <remarks>
            Cell styles can be retrieved from the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Styles" /> collection using the
            indexer or the style name. Built-in styles can also be obtained directly through read-only properties.
            </remarks>
      <example>
            The code below shows three ways to obtain a reference to a grid's default style:
            <code>
            // s1, s2, and s3 are all references to the grid's Normal style:
            CellStyle s1 = _flex.Styles[CellStyleEnum.Normal];
            CellStyle s2 = _flex.Styles["Normal"];
            CellStyle s3 = _flex.Styles.Normal;
            </code></example>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Normal">
      <summary>
            Style used to render scrollable normal cells.
            </summary>
      <remarks>
        <para>This is the parent style for most cells. Setting the control's <b>BackColor</b>, 
            <b>ForeColor</b>, or <b>Font</b> properties automatically sets the corresponding properties 
            on the <b>Normal</b> style.</para>
        <para>If you change any properties in the <b>Normal</b> style, the changes will be reflected
            in all styles that do not explicitly override those properties.</para>
      </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Alternate">
      <summary>
            Style used to render scrollable cells in even-numbered rows.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Fixed">
      <summary>
            Style used to render fixed cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Highlight">
      <summary>
            Style used to render cells that are selected and highlighted. 
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Focus">
      <summary>
            Style used to render the cell that has the focus. 
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Editor">
      <summary>
            Style used to render cells being edited. 
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Search">
      <summary>
            Style used to render cells that are being selected as the user types (see the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch" /> property).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Frozen">
      <summary>
            Style used to render cells that are frozen (editable and selectable, but not scrollable). 
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.FrozenAlternate">
      <summary>
            Style used to render cells that are frozen (editable and selectable, but not scrollable) in even-numbered rows. 
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.NewRow">
      <summary>
            Style used to render the last row on the grid when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowAddNew" /> property is set to true.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.EmptyArea">
      <summary>
            Style used to render the area of the grid where there are no cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.SelectedColumnHeader">
      <summary>
            Style used to render selected column headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.SelectedRowHeader">
      <summary>
            Style used to render selected row headers.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.GrandTotal">
      <summary>
            Style automatically assigned to grand total nodes created with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Subtotal0">
      <summary>
            Style automatically assigned to level-0 nodes created with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Subtotal1">
      <summary>
            Style automatically assigned to level-1 nodes created with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Subtotal2">
      <summary>
            Style automatically assigned to level-2 nodes created with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Subtotal3">
      <summary>
            Style automatically assigned to level-3 nodes created with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Subtotal4">
      <summary>
            Style automatically assigned to level-4 nodes created with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.Subtotal5">
      <summary>
            Style automatically assigned to level-5 nodes created with the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Subtotal(C1.Win.C1FlexGrid.AggregateEnum,System.Int32,System.Int32,System.Int32,System.Int32,System.String)" /> method.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.FilterEditor">
      <summary>
            Style used to paint the filter editors.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.CellStyleEnum.FirstCustomStyle">
      <summary>
            Constant that indicates the first custom style.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.TextAlignEnum">
      <summary>
            Specifies how text is aligned in a grid cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.LeftTop">
      <summary>
            Text is horizontally aligned to the left and vertically aligned to the top of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.LeftCenter">
      <summary>
            Text is horizontally aligned to the left and vertically aligned to the center of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.LeftBottom">
      <summary>
            Text is horizontally aligned to the left and vertically aligned to the bottom of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.CenterTop">
      <summary>
            Text is horizontally aligned to the center and vertically aligned to the top of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter">
      <summary>
            Text is horizontally aligned to the center and vertically aligned to the center of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.CenterBottom">
      <summary>
            Text is horizontally aligned to the center and vertically aligned to the bottom of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.RightTop">
      <summary>
            Text is horizontally aligned to the right and vertically aligned to the top of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.RightCenter">
      <summary>
            Text is horizontally aligned to the right and vertically aligned to the center of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.RightBottom">
      <summary>
            Text is horizontally aligned to the right and vertically aligned to the bottom of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.GeneralTop">
      <summary>
            Numbers are aligned to the right, other values to the left, and vertically aligned to the top.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.GeneralCenter">
      <summary>
            Numbers are aligned to the right, other values to the left, and vertically aligned to the center.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextAlignEnum.GeneralBottom">
      <summary>
            Numbers are aligned to the right, other values to the left, and vertically aligned to the bottom.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.TextEffectEnum">
      <summary>
            Specifies a 3D effect to use when rendering cell text.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextEffectEnum.Flat">
      <summary>
            No 3D effect.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextEffectEnum.Raised">
      <summary>
            Text is drawn with a shadow offset by one pixel to the right and below the text.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextEffectEnum.Inset">
      <summary>
            Text is drawn with a shadow offset by one pixel to the left and above the text.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.ImageAlignEnum">
      <summary>
            Specifies how images are aligns in grid cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.LeftTop">
      <summary>
            Image is horizontally aligned to the left and vertically aligned to the top of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.LeftCenter">
      <summary>
            Image is horizontally aligned to the left and vertically aligned to the center of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.LeftBottom">
      <summary>
            Image is horizontally aligned to the left and vertically aligned to the bottom of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.CenterTop">
      <summary>
            Image is horizontally aligned to the center and vertically aligned to the top of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.CenterCenter">
      <summary>
            Image is horizontally aligned to the center and vertically aligned to the center of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.CenterBottom">
      <summary>
            Image is horizontally aligned to the center and vertically aligned to the bottom of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.RightTop">
      <summary>
            Image is horizontally aligned to the right and vertically aligned to the top of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.RightCenter">
      <summary>
            Image is horizontally aligned to the right and vertically aligned to the center of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.RightBottom">
      <summary>
            Image is horizontally aligned to the right and vertically aligned to the bottom of the cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.Scale">
      <summary>
            Image is scaled to fit the maximum area within the cell while preserving the original aspect ratio.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.Stretch">
      <summary>
            Image is stretched to cover the whole cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.Tile">
      <summary>
            Image is tiled to cover the whole cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.Hide">
      <summary>
            Image is not displayed.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.ImageAlignEnum.TileStretch">
      <summary>
            Image is split into a grid, corner parts are copied and center is stretched to cover the cell.
            </summary>
      <remarks>
            This tiling mode preserves the corners and borders of the source image, and is designed to be
            used with the <see cref="P:C1.Win.C1FlexGrid.CellStyle.BackgroundImageLayout" /> property.
            </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.DisplayEnum">
      <summary>
            Specifies whether a style should display the cell text, image, both, or none.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DisplayEnum.TextOnly">
      <summary>
            Display text only (no image).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DisplayEnum.ImageOnly">
      <summary>
            Display image only (no text).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DisplayEnum.Overlay">
      <summary>
            Display the text over the image.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DisplayEnum.Stack">
      <summary>
            Display the text next to the image.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.DisplayEnum.None">
      <summary>
            Nothing (cell stays blank).
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.TextDirectionEnum">
      <summary>
            Specifies the direction to use when rendering text in a grid cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextDirectionEnum.Normal">
      <summary>
            Text is rendered in the horizontal direction.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextDirectionEnum.Up">
      <summary>
            Text is rendered from the bottom of the cell to the top.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TextDirectionEnum.Down">
      <summary>
            Text is rendered from the top of the cell to the bottom.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.BorderStyleEnum">
      <summary>
            Specifies the type of cell border to display.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderStyleEnum.None">
      <summary>
            No border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderStyleEnum.Flat">
      <summary>
            Solid flat border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderStyleEnum.Double">
      <summary>
            Double border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderStyleEnum.Raised">
      <summary>
            Raised border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderStyleEnum.Inset">
      <summary>
            Inset border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderStyleEnum.Groove">
      <summary>
            Groove border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderStyleEnum.Fillet">
      <summary>
            Fillet border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderStyleEnum.Dotted">
      <summary>
            Dotted border.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.BorderDirEnum">
      <summary>
            Specifies the direction of cell borders.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderDirEnum.Both">
      <summary>
            Draw cell borders in both directions.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderDirEnum.Horizontal">
      <summary>
            Draw cell borders only in the horizontal direction.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.BorderDirEnum.Vertical">
      <summary>
            Draw cell borders only in the vertical direction.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.StyleElementFlags">
      <summary>
            Contains flags that specify which style elements are defined in a <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object.
            </summary>
      <remarks>
        <para>This enumeration can be used to inspect styles and determine which elements it defines, and it 
            can also be used to clear specific elements from the style.</para>
        <para>Any elements not defined in the style are inherited from the parent style.</para>
      </remarks>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.None">
      <summary>
            No elements are defined.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.Font">
      <summary>
            The style defines a font.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.BackColor">
      <summary>
            The style defines a background color.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.ForeColor">
      <summary>
            The style defines a foreground color.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.Margins">
      <summary>
            The style defines margins.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.Border">
      <summary>
            The style defines borders.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.TextAlign">
      <summary>
            The style defines the text alignment.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.TextEffect">
      <summary>
            The style defines a 3D effect for the text.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.ImageAlign">
      <summary>
            The style defines the image alignment.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.ImageSpacing">
      <summary>
            The style defines the spacing between images and text.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.Trimming">
      <summary>
            The style defines how long strings are trimmed to fit within cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.WordWrap">
      <summary>
            The style defines whether long strings are allowed to wrap within cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.Display">
      <summary>
            The style defines whether to display text and/or images, in the cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.Format">
      <summary>
            The style defines a format string used to convert data into strings.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.EditMask">
      <summary>
            The style defines an edit mask used to constrain values entered in the cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.ComboList">
      <summary>
            The style defines a list of choices used to populate drop down editors.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.ImageMap">
      <summary>
            The style defines an <see cref="T:System.Collections.IDictionary" /> used to associate cell data with images.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.DataType">
      <summary>
            The style defines the <see cref="T:System.Type" /> of values contained in the cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.DataMap">
      <summary>
            The style defines an <see cref="T:System.Collections.IDictionary" /> used to associate cell data with display values.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.TextDirection">
      <summary>
            The style defines whether text should be rendered horizontally or vertically.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.Editor">
      <summary>
            The style defines an external control to be used as an editor for the cells.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.UserData">
      <summary>
            The style contains arbitrary user data (not used by the control).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.BackgroundImage">
      <summary>
            The style specifies a background image.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.BackgroundImageLayout">
      <summary>
            The style specifies a background image alignment.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.SearchBackColor">
      <summary>
            The style defines a background color of found text.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.StyleElementFlags.All">
      <summary>
            All style elements.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.CellStyleCollection">
      <summary>
            Collection of <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> objects defined for a grid. 
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Normal">
      <summary>
            Gets the default style used to paint scrollable cells.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Alternate">
      <summary>
            Gets the style used to paint scrollable cells in alternate rows.
            </summary>
      <remarks>
            This style is empty by default, so all scrollable cells are rendered using the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Normal" /> style.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Fixed">
      <summary>
            Gets the style used to paint fixed cells.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.SelectedColumnHeader">
      <summary>
            Gets the style used to paint selected column headers.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.SelectedRowHeader">
      <summary>
            Gets the style used to paint selected column headers.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Highlight">
      <summary>
            Gets the style used to paint highlighted selected cells.
            </summary>
      <remarks>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.HighLight" /> property to determine whether cells should be 
            highlighted when the control does not have the focus.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.SelectionMode" /> property to determine what types of selection
            are allowed.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Focus">
      <summary>
            Gets the style used to paint the current cell when the control has focus.
            </summary>
      <remarks>
            This style is empty by default, so focused cells are rendered using the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Normal" /> style.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Editor">
      <summary>
            Gets the style used to paint the cell being edited.
            </summary>
      <remarks>
            This style is empty by default, so cells being edited are rendered using the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Focus" /> style.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Search">
      <summary>
            Gets the style used to paint the cell selected while auto-searching.
            </summary>
      <remarks>
            Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AutoSearch" /> property to enable auto-searching.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Frozen">
      <summary>
            Gets the style used to paint frozen cells (frozen cells are editable and selectable, but not scrollable). 
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.FrozenAlternate">
      <summary>
            Gets the style used to paint frozen cells (frozen cells are editable and selectable, but not scrollable) in alternate rows. 
            </summary>
      <remarks>
            This style is empty by default, so frozen cells are rendered using the <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Frozen" /> style.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.NewRow">
      <summary>
            Gets the style used to paint cells in the new row template at the bottom of the grid.
            </summary>
      <remarks>
            The new row template is only present when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowAddNew" /> property is set to true.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.EmptyArea">
      <summary>
            Gets the style used to paint the area of the grid below and to the right of all the cells.
            </summary>
      <remarks>
        <para>Only the <see cref="P:C1.Win.C1FlexGrid.CellStyle.BackColor" /> and <see cref="P:C1.Win.C1FlexGrid.CellStyle.Border" /> elements of 
            this style are used. They define the appearance of the space between the last cell and the edges of 
            the control.</para>
        <para>The <see cref="P:C1.Win.C1FlexGrid.CellBorder.Color" /> value defines the color of the lines drawn around the 
            edge of the sheet and between frozen and scrollable cells.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.FilterEditor">
      <summary>
            Gets the style used to paint the column filter editors.
            </summary>
      <remarks>
            This style is only used if the grid's <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.AllowFiltering" /> property 
            is set to true.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Item(System.Int32)">
      <summary>
            Gets a <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> by index.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Item(C1.Win.C1FlexGrid.CellStyleEnum)">
      <summary>
            Gets a built-in <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> by style type.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Item(System.String)">
      <summary>
            Gets a <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> by name.
            </summary>
      <remarks>
            If the specified name doesn't exist, this indexer returns null.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyleCollection.Count">
      <summary>
            Gets the number of <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> objects in the collection.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.Add(System.String,C1.Win.C1FlexGrid.CellStyle)">
      <summary>
            Adds a new <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object to the collection.
            </summary>
      <param name="name">Name of the new style.</param>
      <param name="basedOn">Base style, used to initialize the properties of the new style.</param>
      <returns>The new <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object.</returns>
      <remarks>
            If a style with the given name already exists, the existing style is returned and no 
            exception is thrown. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.Add(System.String,System.String)">
      <summary>
            Adds new <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object to the collection.
            </summary>
      <param name="name">Name of the new style.</param>
      <param name="basedOn">Name of the base style, used to initialize the properties of the new style.</param>
      <returns>The new <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.Add(System.String)">
      <summary>
            Adds a new empty <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object to the collection.
            </summary>
      <param name="name">Name of the new style.</param>
      <returns>The new <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.Remove(System.Int32)">
      <summary>
            Removes a custom style from the collection.
            </summary>
      <param name="index">Index of the style to be removed.</param>
      <remarks>
            Built-in styles can't be removed.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.Remove(System.String)">
      <summary>
            Removes a custom style from the collection.
            </summary>
      <param name="name">Name of the style to be removed.</param>
      <remarks>
            Built-in styles can't be removed.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.Remove(C1.Win.C1FlexGrid.CellStyle)">
      <summary>
            Removes a custom style from the collection.
            </summary>
      <param name="style">Style to be removed from the collection.</param>
      <remarks>
            Built-in styles can't be removed.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.Clear">
      <summary>
            Clear all styles (even those in use) and reset the built-in styles.
            </summary>
      <remarks>
            The <b>Clear</b> method also removes any custom styles assigned to rows, columns, 
            and cells.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.ClearUnused">
      <summary>
            Clear all unused styles. 
            </summary>
      <remarks>
            Unused styles are unnamed styles that were created and are no longer assigned to
            any grid elements.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.Contains(System.String)">
      <summary>
            Checks whether the collection contains a given style.
            </summary>
      <param name="name">Name of the style to look for.</param>
      <returns>True if the collection contains a style called <paramref name="name" />, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.IndexOf(C1.Win.C1FlexGrid.CellStyle)">
      <summary>
            Gets the index of a style in the collection.
            </summary>
      <param name="style">Style object to look for.</param>
      <returns>Index of the style in the collection, or -1 if the style is not a member of the collection.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.BuildString(System.Boolean)">
      <summary>
            Builds and returns a compact string representation of the style collection.
            </summary>
      <param name="includeEmpty">Whether styles with no attributes should be included.</param>
      <returns>A compact string representation of the style collection.</returns>
      <remarks>
        <para>This method is used internally to implement design-time persistence.</para>
        <para>It can also be used for implementing 'skins', by saving the current styles into
            a collection and later applying them to the grid using the <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.ParseString(System.String)" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyleCollection.ParseString(System.String)">
      <summary>
            Parses a string containing style definitions.
            </summary>
      <param name="styleDef">String containing style definitions.</param>
      <returns>True if the string was parsed successfully, false otherwise.</returns>
      <remarks>
        <para>The style definition string is usually obtained from a call to <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.BuildString(System.Boolean)" /> method.</para>
        <para>The new definitions are merged with the current ones. To completely replace the styles, 
            call the <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.Clear" /> method before parsing the new styles.</para>
      </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.CellStyle">
      <summary>
            The <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> class encapsulates properties that control the appearance of grid cells. 
            This information includes the background and foreground colors, font, text and image alignment, etc.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Styles" /> property exposes a collection of grid styles, and has 
            methods for creating and removing styles from the grid.</para>
        <para>You can create and define styles at design time, but right-clicking the grid and selecting the
            "Edit Styles" menu option.</para>
        <para>Styles follow a hierarchical model similar to styles in Microsoft Word or in cascading style sheets. 
            Every property in a <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object may be left unassigned, in which case the value is 
            inherited from a parent style. The parent style is usually the built-in <see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Normal" /> 
            style.</para>
        <para>To determine which elements are defined in a particular style, use the <see cref="P:C1.Win.C1FlexGrid.CellStyle.DefinedElements" /> 
            property.</para>
        <para>When you modify the properties of a <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> object, all cells that use that style 
            are automatically repainted to reflect the changes.</para>
        <para>Styles may be assigned to <see cref="T:C1.Win.C1FlexGrid.CellRange" />, <see cref="T:C1.Win.C1FlexGrid.Row" />, and <see cref="T:C1.Win.C1FlexGrid.Column" /> 
            objects, as shown in the example below.</para>
      </remarks>
      <example>
            The example below creates three <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> objects and assigns them to grid rows, columns,
            and cell ranges.
            <code>
            // create style with red background
            CellStyle cs = _flex.Styles.Add("red");
            Style.BackColor = Color.Red;
            
            // create style with green background
            cs = _flex.Styles.Add("green");
            Style.BackColor = Color.Green;
            
            // create style with bold font
            cs = _flex.Styles.Add("bold");
            Style.Font = new Font("Tahoma", 8, FontStyle.Bold);
            
            // assign red style to a column
            _flex.Cols[3].Style = _flex.Styles["red"];
            
            // assign green style to a row
            _flex.Rows[3].Style = _flex.Styles["green"];
            
            // assign bold style to a cell range
            CellRange rg = _flex.GetCellRange(2, 2, 4, 4);
            rg.Style = _flex.Styles["bold"];
            </code><para>After running this code, the third column of the grid will be painted with a red background. The 
            third row will be painted with a green background. The cell at the intersection will be painted
            in red, because column styles have priority over row styles. The remaining style elements for these
            cells (font, alignment, etc) are not defined in the new styles and are automatically inherited from 
            the parent style (<see cref="P:C1.Win.C1FlexGrid.CellStyleCollection.Normal" />).</para><para>The cells around the intersection will have a bold font. The style that defines the bold font
            does not specify a background color, so that element is inherited from the parent style, which may be
            the "red", "green", or "normal" styles.</para></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.Name">
      <summary>
            Gets or sets the style name.
            </summary>
      <remarks>
        <para>Style names must be unique. Setting a style name to the name of an already existing
            style will throw an exception.</para>
        <para>Style names must have one or more characters and may not include curly braces ('{' and '}').</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.BackColor">
      <summary>
            Gets or sets the color used to paint the cell background.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.ForeColor">
      <summary>
            Gets or sets the color of the text in the cell.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.SearchBackColor">
      <summary>
            Gets or sets the color of the text in the cell.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.Font">
      <summary>
            Gets or sets the font used to paint text in the cell.
            </summary>
      <remarks>
            Setting the control's <b>Font</b> property automatically sets the <b>Font</b> 
            property of the <b>Normal</b> style.</remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.Margins">
      <summary>
             Gets or sets the margins between the edges of the cell and its contents, in pixels.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.WordWrap">
      <summary>
            Gets or sets whether long strings should automatically wrap within the cell.
            </summary>
      <remarks>
        <para>This property determines whether the grid should automatically break 
            long strings that contain spaces and display them in multiple lines.</para>
        <para>String that contain hard line breaks (vbCrLf or "\n\r") are always
            displayed in multiple lines.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.Trimming">
      <summary>
            Gets or sets how long strings are trimmed to fit the cell.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.TextAlign">
      <summary>
            Gets or sets the text alignment.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.TextEffect">
      <summary>
            Gets or sets the 3D effect used to paint text.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.TextDirection">
      <summary>
            Gets or sets the text direction.
            </summary>
      <remarks>
            Cells containing vertical text can wrap and be auto sized as usual.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.ImageAlign">
      <summary>
            Gets or sets the image alignment.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.ImageSpacing">
      <summary>
            Gets or sets the space between images and text in a cell, in pixels.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.Display">
      <summary>
            Gets or sets whether to show images, text, or both.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.Format">
      <summary>
            Gets or sets the format string used to display values.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.EditMask">
      <summary>
            Gets or sets the mask string used to edit values.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.ComboList">
      <summary>
            Gets or sets a pipe-delimited list of valid values.
            </summary>
      <remarks>
        <para>If the cell is editable, this list of values is used to populate the drop-down
            <see cref="T:System.Windows.Forms.ComboBox" /> used to edit the cell.</para>
        <para>If the list starts with a pipe character, then the list is not exclusive and the
            user may type values that are not on the list.</para>
        <para>If the list contains three periods ("..."), then a button is displayed in the
            cell. When the user presses the button, the grid fires the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.CellButtonClick" /> 
            event.</para>
        <para>If the list contains a pipe followed by three periods ("|..."), then a button is 
            displayed in the cell as before, and the user may also type into the cell.</para>
        <para>See also the <see cref="P:C1.Win.C1FlexGrid.CellStyle.DataMap" /> property for an alternate way of specifying
            valid values for a cell.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.ImageMap">
      <summary>
            Gets or sets an <see cref="T:System.Collections.IDictionary" /> used to associate cell values with images.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.DataMap">
      <summary>
            Gets or sets an <see cref="T:System.Collections.IDictionary" /> used to associate cell values with display values.
            </summary>
      <remarks>
        <para>If the cell is editable, this list of values is used to populate the drop-down
            <see cref="T:System.Windows.Forms.ComboBox" /> used to edit the cell. In this case, the order of the items in the
            combo list is determined by the order of the elements in the dictionary.</para>
        <para>The most common dictionary class, <see cref="T:System.Collections.Hashtable" />, uses arbitrary order. 
            If you want control over the item order, use a different dictionary class such as
            <see cref="T:System.Collections.Specialized.ListDictionary" />.</para>
        <para>The C1FlexGrid assembly also includes a <see cref="T:C1.Win.C1FlexGrid.MultiColumnDictionary" /> class, 
            which can be used to create multi-column and data-bound dictionaries.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.DataType">
      <summary>
            Gets or sets the data type for the style.
            </summary>
      <remarks>
        <para>When the grid is bound to a data source, this property is set automatically based on the 
            data schema.</para>
        <para>This property is used to coerce values assigned to cells into the proper type.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.Border">
      <summary>
            Gets the CellBorder object associated with this style.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.Editor">
      <summary>
            Gets or sets the custom editor used to edit cells that have this style.
            </summary>
      <remarks>
        <para>The grid provides several built-in editors that are automatically 
            selected based on the properties of the cell being edited.</para>
        <para>This property allows you to use external editors when editing values 
            that have a given <see cref="T:C1.Win.C1FlexGrid.CellStyle" />. Any control can be used as an 
            external editor, but to achieve complete integration with the grid, the 
            external editor should implement the <see cref="T:C1.Win.C1FlexGrid.IC1EmbeddedEditor" /> interface.</para>
        <para>For details, see the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Editor" /> property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.UserData">
      <summary>
            Gets or sets arbitrary user data associated with this style.
            </summary>
      <remarks>
            This data is not used by the control, and can be used to store any data that is 
            useful to the application.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.BackgroundImage">
      <summary>
            Gets or sets the style's background image.
            </summary>
      <remarks>
        <para>This property works with <see cref="P:C1.Win.C1FlexGrid.CellStyle.BackgroundImageLayout" /> to determine
            whether and how background images are rendered in cells.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.BackgroundImageLayout">
      <summary>
            Gets or sets the a value that determines how the style will scale and 
            position background image.
            </summary>
      <remarks>
        <para>This property works with <see cref="P:C1.Win.C1FlexGrid.CellStyle.BackgroundImage" /> to determine
            whether and how background images are rendered in cells.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.DefinedElements">
      <summary>
            Gets or sets which elements are defined in this style.
            </summary>
      <remarks>
            Elements that are not defined in a particular style are automatically 
            inherited from the ancestor style (usually the <b>Normal</b> style). 
            For example, if you create a custom style that defines the 
            <see cref="P:C1.Win.C1FlexGrid.CellStyle.Font" /> property, all other elements (back color, 
            alignment, and so on) are inherited from the ancestor style, which may
            be the <b>Normal</b> style or another custom style assigned to a row or
            column.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.Clear(C1.Win.C1FlexGrid.StyleElementFlags)">
      <summary>
            Clears selected elements from this style.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.Clear">
      <summary>
            Clears all elements in this style.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.MergeWith(C1.Win.C1FlexGrid.CellStyle)">
      <summary>
            Copies all elements defined in a source style to this style.
            </summary>
      <remarks>
            This method is used to create styles preserving existing style elements
            such as <see cref="P:C1.Win.C1FlexGrid.CellStyle.DataType" /> or <see cref="P:C1.Win.C1FlexGrid.CellStyle.Format" />.
            </remarks>
      <example>
            The code below changes a column so it looks like a fixed column, without
            modifying the column's data type, alignment, etc.
            <code>
            // create a new style
            CellStyle cs = _flex.Styles.Add("newStyle");
            
            // set data type, alignment
            cs.DataType = typeof(int);
            cs.TextAlign = TextAlignEnum.CenterCenter;
            
            // copy remaining elements from "Fixed" style
            cs.MergeWith(_flex.Styles.Fixed);
            
            // assign new style to grid column
            _flex.Cols[col].Style = cs;
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.BuildString">
      <summary>
            Returns a compact string representation of this <see cref="T:C1.Win.C1FlexGrid.CellStyle" />.
            </summary>
      <returns>A string containing the settings of all style elements defined in this <b>CellStyle</b>.</returns>
      <remarks>
        <para>This method is used to persist grid styles and can be used to define and save 'skins'.</para>
        <para>See the <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.BuildString(System.Boolean)" /> and <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.ParseString(System.String)" />
            methods.</para>
        <para>The string returned contains definitions only for the style elements that are defined by this
            <see cref="T:C1.Win.C1FlexGrid.CellStyle" />. Elements inherited from other styles are not included. To build a string containing
            specific elements, use the <see cref="M:C1.Win.C1FlexGrid.CellStyle.BuildString(C1.Win.C1FlexGrid.StyleElementFlags)" /> method instead.</para>
      </remarks>
      <example>
            The code below creates a style with a custom font and background color and builds a string that represents
            the new style. Then it uses the string to initialize a second style.
            <code>
            // create style with custom font and back color
            CellStyle cs = _flex.Styles.Add("s1");
            cs.Font = new Font("Arial", 12, FontStyle.Bold);
            cs.BackColor = Color.Beige;
            
            // save style definition into a string
            string styleDef = cs.BuildString();
            
            // use string to initialize another style
            CellStyle csNew = _flex.Styles.Add("s2");
            csNew.ParseString(styleDef);
            
            // compare styles
            Debug.Assert(csNew.Font.Equals(cs.Font));
            Debug.Assert(csNew.BackColor.Equals(cs.BackColor));
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.BuildString(C1.Win.C1FlexGrid.StyleElementFlags)">
      <summary>
            Returns a string representation of this <see cref="T:C1.Win.C1FlexGrid.CellStyle" />.
            </summary>
      <param name="elements">
        <see cref="T:C1.Win.C1FlexGrid.StyleElementFlags" /> that specifies which style elements should be included in the string.</param>
      <returns>A string containing the settings of the specified style elements.</returns>
      <remarks>
        <para>This method is used to persist grid styles and can be used to define and save 'skins'.</para>
        <para>See the <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.BuildString(System.Boolean)" /> and <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.ParseString(System.String)" />
            methods.</para>
      </remarks>
      <example>
            The code below shows the effect of specifying different values for the <paramref name="elements" /> parameter. It builds
            one compact string containing only the elements actually defined in a style, and another including all style elements.
            <code>
            // build compact and a long style definition strings
            string s1 = _flex.Styles.Fixed.BuildString();
            string s2 = _flex.Styles.Fixed.BuildString(StyleElementFlags.All);
            
            // show both style definitions
            Console.WriteLine("{0}: {1}", s1.Length, s1);
            Console.WriteLine("{0}: {1}", s2.Length, s2);
            </code></example>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.ParseString(System.String)">
      <summary>
            Rebuilds this style based on a description contained in a string.
            </summary>
      <returns>True if the string was successfully parsed, false otherwise.</returns>
      <remarks>
        <para>This method is used to persist grid styles and can be used to define and save 'skins'.</para>
        <para>See the <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.BuildString(System.Boolean)" /> and <see cref="M:C1.Win.C1FlexGrid.CellStyleCollection.ParseString(System.String)" />
            methods.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.Render(System.Drawing.Graphics,System.Drawing.Rectangle,System.String,System.Drawing.Image,C1.Win.C1FlexGrid.DrawCellFlags)">
      <summary>
            Renders a string and an image into a <see cref="T:System.Drawing.Graphics" /> object using this style.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object to render into.</param>
      <param name="rc">Area where the element will be displayed.</param>
      <param name="str">Text to render.</param>
      <param name="img">Image to render.</param>
      <param name="flags">Combination of <see cref="T:C1.Win.C1FlexGrid.DrawCellFlags" /> that determines which elements will be rendered.</param>
      <remarks>
            This method allows using <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> objects to render objects outside the grid. It can be
            useful when implementing owner-drawn applications and style editors for example.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.Render(System.Drawing.Graphics,System.Drawing.Rectangle,System.String,System.Drawing.Image)">
      <summary>
            Renders a string and an image into a <see cref="T:System.Drawing.Graphics" /> object using this style.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object to render into.</param>
      <param name="rc">Area where the element will be displayed.</param>
      <param name="str">Text to render.</param>
      <param name="img">Image to render.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.Render(System.Drawing.Graphics,System.Drawing.Rectangle,System.String)">
      <summary>
            Renders a string and an image into a <see cref="T:System.Drawing.Graphics" /> object using this style.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object to render into.</param>
      <param name="rc">Area where the element will be displayed.</param>
      <param name="str">Text to render.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.Render(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Image)">
      <summary>
            Renders a string and an image into a <see cref="T:System.Drawing.Graphics" /> object using this style.
            </summary>
      <param name="g">
        <see cref="T:System.Drawing.Graphics" /> object to render into.</param>
      <param name="rc">Area where the element will be displayed.</param>
      <param name="img">Image to render.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellStyle.StringFormat">
      <summary>
            Gets the <see cref="P:C1.Win.C1FlexGrid.CellStyle.StringFormat" /> element used for rendering
            strings when the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.UseCompatibleTextRendering" /> 
            property is set to true.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.GetContentRectangle(System.Drawing.Rectangle)">
      <summary>
            Gets the content portion of a cell's rectangle.
            </summary>
      <param name="rc">Cell rectangle.</param>
      <returns>A rectangle that represents the content portion of a cell, discounting the 
            area taken up by the cell borders.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.GetTextRectangle(System.Drawing.Rectangle,System.Drawing.Image)">
      <summary>
            Gets the text portion of a cell's rectangle.
            </summary>
      <param name="rc">Cell rectangle.</param>
      <param name="img">Image that shares the cell space with the text.</param>
      <returns>A rectangle that represents the text portion of a cell, discounting the 
            area taken up by the cell borders, padding, and images.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.GetImageRectangle(System.Drawing.Rectangle,System.Drawing.Image)">
      <summary>
            Gets the image portion of a cell's rectangle.
            </summary>
      <param name="rc">Cell rectangle.</param>
      <param name="img">Image to be displayed on the cell.</param>
      <returns>A rectangle that represents the image portion of a cell, discounting the 
            area taken up by the cell borders and padding.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.Equals(System.Object)">
      <summary>
            Determines whether two <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> objects are equal.
            </summary>
      <param name="o">Style to compare with this style.</param>
      <returns>True if the two styles are equal, false otherwise.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.CellStyle.GetHashCode">
      <summary>
            Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
      <returns>A hash code for the style instance.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.CellBorder">
      <summary>
            The <see cref="T:C1.Win.C1FlexGrid.CellBorder" /> class encapsulates properties that control the appearance of borders in 
            <see cref="T:C1.Win.C1FlexGrid.CellStyle" /> objects.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellBorder.Style">
      <summary>
            Gets or sets the border style.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellBorder.Direction">
      <summary>
            Gets or sets the border direction.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellBorder.Color">
      <summary>
            Gets or sets the border color (except for 3D borders).
            </summary>
      <remarks>
            3D borders are always drawn using the system colors defined for highlights and shadows.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.CellBorder.Width">
      <summary>
            Gets or sets the border width (except for 3D borders).
            </summary>
      <remarks>
            3D borders are always one or two pixels wide.
            </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.TreeStyleFlags">
      <summary>
            Specifies the appearance of the outline tree.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.None">
      <summary>
            Do not show the outline tree.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.Lines">
      <summary>
            Show tree lines next to node rows.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.Symbols">
      <summary>
            Show expand/collapse symbols on node rows.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.ButtonBar">
      <summary>
            Show outline buttons across the top fixed row.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.Leaf">
      <summary>
            Show tree lines next to all rows (nodes and data).
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.Complete">
      <summary>
            Combination of <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Lines" />, <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Symbols" />, and
            <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.ButtonBar" />.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.Simple">
      <summary>
            Combination of <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Lines" /> and <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Symbols" />.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.CompleteLeaf">
      <summary>
            Combination of <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Lines" />, <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Symbols" />, 
            <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.ButtonBar" /> and <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Leaf" />.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.TreeStyleFlags.SimpleLeaf">
      <summary>
            Combination of <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Lines" />, <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Symbols" />, and
            <see cref="F:C1.Win.C1FlexGrid.TreeStyleFlags.Leaf" />.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridTree">
      <summary>
            The GridTree class encapsulates properties that specify the appearance, position, and behavior of the outline tree.
            </summary>
      <remarks>
            Each grid has a single GridTree object, which can be obtained using the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Tree" /> property.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridTree.Clear">
      <summary>
            Resets the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Tree" /> object.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.LineColor">
      <summary>
            Gets or sets the color of the lines in the outline tree.
            </summary>
      <remarks>
            See also the <see cref="P:C1.Win.C1FlexGrid.GridTree.Style" /> property.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.LineStyle">
      <summary>
            Gets or sets the line style used to draw the outline tree.
            </summary>
      <remarks>
            By default, this property is set to <b>DashStyle.Dot</b>, which causes the tree 
            to be drawn with dotted lines. You can change the value of this property to draw the
            tree using solid lines instead.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.Style">
      <summary>
            Gets or sets the style of the outline tree.
            </summary>
      <remarks>
        <para>Use the Style property to determine whether the outline tree should include lines connecting 
            the nodes and buttons for collapsing and expanding the nodes. See the <see cref="T:C1.Win.C1FlexGrid.TreeStyleFlags" /> 
            enumeration for details.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.GridTree.Column" /> property to determine where the grid will show the outline tree.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.Column">
      <summary>
            Gets or sets the index of the column where the outline tree is displayed.
            </summary>
      <remarks>By default, this property is set to -1, which causes the tree to be hidden.</remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.Indent">
      <summary>
            Gets or sets the indentation, in pixels, of each tree level.
            </summary>
      <remarks>
            If you set the Indent property to a value that is too narrow to fit the <see cref="P:C1.Win.C1FlexGrid.GridTree.NodeImageCollapsed" /> and
            <see cref="P:C1.Win.C1FlexGrid.GridTree.NodeImageExpanded" /> images, the grid will adjust it to fit the images.</remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.NodeImageCollapsed">
      <summary>
            Gets or sets the image displayed next to collapsed nodes.
            </summary>
      <remarks>
        <para>Setting this property to null resets it and causes the grid to use the default image (a plus sign).</para>
        <para>To hide the images, use the <see cref="P:C1.Win.C1FlexGrid.GridTree.Style" /> property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.NodeImageExpanded">
      <summary>
            Gets or sets the image displayed next to expanded nodes.
            </summary>
      <remarks>
        <para>Setting this property to null resets it and causes the grid to use the default image (a minus sign).</para>
        <para>To hide the images, use the <see cref="P:C1.Win.C1FlexGrid.GridTree.Style" /> property.</para>
      </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.HandleInvisibleChildren">
      <summary>
            If True then the collapse/expand button will not be displayed if all children of node are invisible.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridTree.Show(System.Int32)">
      <summary>
            Expands all nodes up to the specified level, collapses others.
            </summary>
      <param name="level">The level to show. Any nodes with <see cref="P:C1.Win.C1FlexGrid.Node.Level" /> higher than this 
            will be collapsed, others will be expanded.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridTree.MaximumLevel">
      <summary>
            Gets the level of the deepest node in the outline.
            </summary>
      <remarks>
            This property can be used with methods that take an outline level as
            a parameter (for example, <see cref="M:C1.Win.C1FlexGrid.GridTree.Sort(System.Int32,C1.Win.C1FlexGrid.SortFlags,System.Int32,System.Int32)" /> and <see cref="M:C1.Win.C1FlexGrid.GridTree.Show(System.Int32)" />).
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridTree.Sort(System.Int32,C1.Win.C1FlexGrid.SortFlags,System.Int32,System.Int32)">
      <summary>
            Sorts all nodes at the given level.
            </summary>
      <param name="level">Level of the nodes to sort.</param>
      <param name="order">
        <see cref="T:C1.Win.C1FlexGrid.SortFlags" /> value that controls sort direction and options.</param>
      <param name="col1">Start of the range of columns to sort.</param>
      <param name="col2">End of the range of columns to sort.</param>
      <remarks>
        <para>The grid recognizes two types of row: regular rows which contain data, and node rows which are used
            to group data. This method only sorts the row nodes; it does not reorder the data rows within each node.</para>
        <para>To sort the data rows, use the grid's <see cref="M:C1.Win.C1FlexGrid.C1FlexGridBase.Sort(C1.Win.C1FlexGrid.SortFlags,System.Int32)" /> method instead.</para>
      </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridTree.Sort(System.Int32,System.Collections.IComparer)">
      <summary>
            Sorts all nodes at the given level using the specified comparer.
            </summary>
      <param name="level">Level of the nodes to sort.</param>
      <param name="comparer">An <see cref="T:System.Collections.IComparer" /> object that compares <see cref="T:C1.Win.C1FlexGrid.Node" /> objects.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.RuntimeStrings">
      <summary>
            Static class containing UI strings used by the designer.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Util.Styles.StyleContext">
      <summary>
            StyleContext contains a base Style definition and a list of
            named Styles. It provides the following services:
            - Style management (create, edit, and remove Styles)
            - Style inheritance mechanism
            - Rendering and measuring methods
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Util.Styles.Style">
      <summary>
            Style contains a collection of arbitrary attributes, 
            represented by a name/object entry, a reference to a parent
            Style, and a reference to the containing StyleContext.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Util.BaseControls.BorderStyleEnum">
      <summary>
            Specifies the type of border to be drawn around the control.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.Util.BaseControls.BorderStyleEnum.None">
      <summary>
            No border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.Util.BaseControls.BorderStyleEnum.FixedSingle">
      <summary>
            A single-line border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.Util.BaseControls.BorderStyleEnum.Fixed3D">
      <summary>
            A three-dimensional border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.Util.BaseControls.BorderStyleEnum.Light3D">
      <summary>
            A light sunken border.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.Util.BaseControls.BorderStyleEnum.XpThemes">
      <summary>
            A border drawn using XP themes.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl">
      <summary>
            Base class for controls that support auto-scrolling behavior.
            </summary>
      <remarks>
            This class is similar to <see cref="T:System.Windows.Forms.ScrollableControl" />, but provides 
            extra customization, better scroll notification, and support for scroll tracking.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.#ctor">
      <summary>
            Creates a new instance of a <see cref="T:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl" /> class.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollBars">
      <summary>
            Gets or sets which scroll bars should appear on the control.
            </summary>
      <remarks>
        <para>Scroll bars are displayed only if the contents of the control extend beyond its 
            client area. For example, if <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollBars" /> is set to <see cref="F:System.Windows.Forms.ScrollBars.Horizontal" />, 
            a horizontal scroll bar is displayed only if the control is not wide enough to display all 
            columns at once.</para>
        <para>Even when it has no scrollbars, the control will still scroll to keep the selection visible. 
            If you want to prevent scrolling, handle the <see cref="E:C1.Win.C1FlexGrid.C1FlexGridBase.BeforeScroll" /> event and 
            set its <see cref="F:C1.Win.C1FlexGrid.RangeEventArgs.Cancel" /> parameter to true.</para>
        <para>You can force the control to display scrollbars at all times with the 
            <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ForceScrollBars" /> property.</para>
        <para>You can determine which scrollbars are currently visible with the 
            <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollBarsVisible" /> property.</para>
      </remarks>
      <seealso cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollBarsVisible" />
      <seealso cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ForceScrollBars" />
    </member>
    <member name="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition">
      <summary>
            Gets or sets the location of the auto-scroll position.
            </summary>
      <remarks>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition" /> property to get or set the scroll position using pixel coordinates.</para>
        <para>Use the <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.TopRow" /> and <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.LeftCol" /> properties to get or 
            set the scroll position using cell coordinates.</para>
      </remarks>
      <example>
            This code binds two grids (_flexLeft and _flexRight) together and synchronizes their scrolling in the vertical 
            direction (the user can scroll the grids independently in the horizontal direction).
            <code>
            // bind grids together
            _flexRight.DataSource = _flexLeft;
            _flexLeft.ScrollBars = ScrollBars.Horizontal;
            
            // synchronize vertical scrolling 
            // (this handles the AfterScroll event for both grids)
            void flex_AfterScroll(object sender, C1.Win.C1FlexGrid.RangeEventArgs e)
            {
                // update sender grid (could be _flexLeft or _flexRight)
                C1FlexGrid.C1FlexGrid src = ((C1FlexGrid)sender);
                src.Update();
                
                // get new vertical position from sender grid
                int y = src.ScrollPosition.Y;
                
                // apply new vertical position to the other grid
                if (src.Equals == _flexLeft)
                {
                    _flexRight.ScrollPosition = new Point(_flexRight.ScrollPosition.X, y);
                }
                else
                {
                    _flexLeft.ScrollPosition = new Point(_flexLeft.ScrollPosition.X, y);
                }
            }
            </code></example>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.BorderStyle">
      <summary>
            Gets or sets the type of border around the control.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollBarsVisible">
      <summary>
            Gets a <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollBars" /> value that indicates which scrollbars are currently visible.
            </summary>
      <seealso cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollBars" />
      <seealso cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ForceScrollBars" />
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.BeginUpdate">
      <summary>
            Maintains performance by preventing the control from updating itself until
            the <see cref="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.EndUpdate" /> method is called.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.EndUpdate">
      <summary>
            Resumes updating the control after calls to the <see cref="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.BeginUpdate" /> method.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnThemeChanged">
      <summary>
            Called when the control receives a WM_THEMECHANGED message.
            </summary>
      <remarks>
            The WM_THEMECHANGED message is broadcast to every window following a 
            theme change event. Examples of theme change events are the activation of a 
            theme, the deactivation of a theme, or a transition from one theme to another. 
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnImeStartComposition">
      <summary>
            Called when the control receives a WM_IME_STARTCOMPOSITION message.
            </summary>
      <remarks>
            The WM_IME_STARTCOMPOSITION message is sent immediately before the IME generates
            the composition string as a result of a keystroke. The message is a notification to
            an IME window to open its composition window. An application should process this 
            message if it displays composition characters itself.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnScroll(System.Windows.Forms.ScrollBars)">
      <summary>
            Called after the control scrolls (see the <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollPosition" /> property).
            </summary>
      <param name="sb">
        <see cref="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollBars" /> value that indicates the scroll direction.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnScrollTip(System.Int32)">
      <summary>
            Called before the controls displays a scroll tip.
            </summary>
      <param name="newValue">New value for the vertical scrollbar.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.ScrollableRectangle">
      <summary>
            Gets a rectangle that defines the scrollable portion of the control.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.BuildScrollableRectangle(System.Int32,System.Int32)">
      <summary>
            Builds a rectangle that defines the scrollable portion of the control for a given pair of scroll offsets.
            </summary>
      <param name="dx">Horizontal scroll offset.</param>
      <param name="dy">Vertical scroll offset.</param>
      <returns>A <see cref="T:System.Drawing.Rectangle" /> that defines the scrollable portion of the control.</returns>
      <remarks>
            This method is for internal use. It allows derived classes to customize the control scrolling behavior.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnPaint(System.Windows.Forms.PaintEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.Paint" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnSizeChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.SizeChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnMouseWheel(System.Windows.Forms.MouseEventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.MouseWheel" /> event.
            </summary>
      <param name="e">A <see cref="T:System.Windows.Forms.MouseEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnClientSizeChanged(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Windows.Forms.Control.ClientSizeChanged" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.OnChangeScrollBarPosition(System.Int32,System.Boolean,System.Int32,System.Int32)">
      <summary>
            Calculates the new position of a scrollbar in response to a user command.
            </summary>
      <param name="cmd">Scroll command (SB_LINEUP, etc).</param>
      <param name="verticalBar">True for the vertical scrollbar, false for the horizontal scrollbar.</param>
      <param name="curPos">Current scrollbar position.</param>
      <param name="trackPos">Scrollbar thumb position.</param>
      <returns>The new position for the scrollbar.</returns>
      <remarks>
            Derived classes may override this method to customize the scrolling behavior.
            </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.VisualStyle">
      <summary>
            Specifies a visual style to use when rendering the control.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.VisualStyle.Custom">
      <summary>
            Do not use any visual styles. Render the control using the styles and properties only.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.VisualStyle.System">
      <summary>
            Render the control with an appearance based on the current system settings.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.VisualStyle.Office2007Blue">
      <summary>
            Render the control with an appearance based on the Office 2007 Blue color scheme.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.VisualStyle.Office2007Silver">
      <summary>
            Render the control with an appearance based on the Office 2007 Silver color scheme.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.VisualStyle.Office2007Black">
      <summary>
            Render the control with an appearance based on the Office 2007 Black color scheme.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.VisualStyle.Office2010Blue">
      <summary>
            Render the control with an appearance based on the Office 2010 Blue color scheme.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.VisualStyle.Office2010Silver">
      <summary>
            Render the control with an appearance based on the Office 2010 Silver color scheme.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.VisualStyle.Office2010Black">
      <summary>
            Render the control with an appearance based on the Office 2010 Black color scheme.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.C1FlexGridRenderer">
      <summary>
            Represents an abstract base class for custom grid renderers.
            </summary>
      <remarks>
            To create custom grid renderers, inherit from this class, override the appropriate
            virtual methods and properties, and assign an instance of your class to the grid's 
            <see cref="P:C1.Win.C1FlexGrid.C1FlexGridBase.Renderer" /> property.
            </remarks>
    </member>
    <member name="T:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType">
      <summary>
            Represents the type of cell being rendered.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.Normal">
      <summary>
            A normal scrollable cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.TopLeft">
      <summary>
            The top left fixed cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.ColumnHeader">
      <summary>
            A column header cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.ColumnHeaderSelected">
      <summary>
            A selected column header cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.ColumnHeaderHot">
      <summary>
            A column header cell currently under the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.ColumnHeaderSelectedHot">
      <summary>
            A selected column header cell currently under the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.RowHeader">
      <summary>
            A row header cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.RowHeaderSelected">
      <summary>
            A selected row header cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.RowHeaderHot">
      <summary>
            A row header cell currently under the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.RowHeaderSelectedHot">
      <summary>
            A selected row header cell currently under the mouse.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.Highlight">
      <summary>
            A selected normal cell.
            </summary>
    </member>
    <member name="F:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType.Cursor">
      <summary>
            The cell that contains the cursor.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridRenderer.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" />.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridRenderer.TracksSelection">
      <summary>
            Gets a value that determines whether this renderer tracks the selection to paint
            highlighted column and row headers.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridRenderer.TracksMouse">
      <summary>
            Gets a value that determines whether this renderer renders hot cells 
            differently than normal cells.
            </summary>
      <remarks>
            Hot cells are cells currently under the mouse. If a renderer tracks the mouse,
            then it will be called as the mouse moves over the grid.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.C1FlexGridRenderer.HeaderForeColor">
      <summary>
            Gets the foreground color of header cells in the normal state.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridRenderer.OnDrawCell(C1.Win.C1FlexGrid.C1FlexGridBase,C1.Win.C1FlexGrid.OwnerDrawCellEventArgs)">
      <summary>
            Draws a grid cell of any type.
            </summary>
      <param name="flex">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> that contains the cell being drawn.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs" /> that provides information about the cell being drawn.</param>
      <remarks>
            This method determines the type of cell being drawn and then calls the <see cref="M:C1.Win.C1FlexGrid.C1FlexGridRenderer.OnDrawCell(C1.Win.C1FlexGrid.C1FlexGridBase,C1.Win.C1FlexGrid.OwnerDrawCellEventArgs,C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType)" />
            method passing the type of cell to be drawn.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridRenderer.OnDrawCell(C1.Win.C1FlexGrid.C1FlexGridBase,C1.Win.C1FlexGrid.OwnerDrawCellEventArgs,C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType)">
      <summary>
            Draws a single grid cell of a specific type.
            </summary>
      <param name="flex">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> that contains the cell being drawn.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs" /> that provides information about the cell being drawn.</param>
      <param name="cellType">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType" /> value that determines the type of cell being drawn.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridRenderer.GetBackgroundBrush(C1.Win.C1FlexGrid.C1FlexGridBase,C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType,System.Drawing.Rectangle)">
      <summary>
            Gets a <see cref="T:System.Drawing.Brush" /> object used to paint the cell background for a specific cell type.
            </summary>
      <param name="flex">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> that contains the cell being drawn.</param>
      <param name="cellType">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType" /> value that determines the type of cell being drawn.</param>
      <param name="bounds">A <see cref="T:System.Drawing.Rectangle" /> that represents the bounds of the cell being drawn.</param>
      <returns>A <see cref="T:System.Drawing.Brush" /> object used to render the cell background.</returns>
      <remarks>
            The <paramref name="bounds" /> parameter can be used to create or select complex brushes such as 
            gradient or tiled image brushes.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.C1FlexGridRenderer.GetBorderPen(C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType)">
      <summary>
            Gets a <see cref="T:System.Drawing.Pen" /> object used to paint the cell borders.
            </summary>
      <param name="cellType">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType" /> value that determines the type of cell being drawn.</param>
      <returns>A <see cref="T:System.Drawing.Pen" /> object used to paint the cell borders.</returns>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridRendererOffice2007">
      <summary>
            Represents the base abstract class for Office2007 style renderers.
            </summary>
      <remarks>
            The easiest way to create a new high-quality renderer is to derive from
            this class and provide a constructor that initializes the 25 colors that
            define the renderer.
            </remarks>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2007.#ctor(System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color,System.Drawing.Color)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GridRendererOffice2007" />.
            </summary>
      <param name="clrHighlight">Background color for highlighted cells.</param>
      <param name="clrTopLeftBorder">Color of the border around the top left fixed cell.</param>
      <param name="clrTopLeft">Color of the background for the top left fixed cell.</param>
      <param name="clrImg1">First color of the gradient background for the image in the top left fixed cell.</param>
      <param name="clrImg2">Second color of the gradient background for the image in the top left fixed cell.</param>
      <param name="clrCol1">First color of the gradient background for column headers.</param>
      <param name="clrCol2">Second color of the gradient background for column headers.</param>
      <param name="clrColBorder">Color of the border around column headers.</param>
      <param name="clrColSel1">First color of the gradient background for selected column headers.</param>
      <param name="clrColSel2">Second color of the gradient background for selected column headers.</param>
      <param name="clrSelBorder">Color of the border around selected column headers.</param>
      <param name="clrColHot1">First color of the gradient background for hot column headers.</param>
      <param name="clrColHot2">Second color of the gradient background for hot column headers.</param>
      <param name="clrHotBorder">Color of the border around hot column headers.</param>
      <param name="clrColSelHot1">First color of the gradient background for selected hot column headers.</param>
      <param name="clrColSelHot2">Second color of the gradient background for selected hot column headers.</param>
      <param name="clrSelHotBorder">Color of the border around hot selected column headers.</param>
      <param name="clrRow">Color of the background for row headers.</param>
      <param name="clrRowBorder">Color of the border around row headers.</param>
      <param name="clrRowSel">Color of the background for selected row headers.</param>
      <param name="clrRowSelBorder">Color of the border around selected row headers.</param>
      <param name="clrRowHot">Color of the background for hot row headers.</param>
      <param name="clrRowHotBorder">Color of the border around hot row headers.</param>
      <param name="clrRowSelHot">Color of the background for hot selected row headers.</param>
      <param name="clrRowSelHotBorder">Color of the border around selected hot row headers.</param>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2007.#ctor(System.Drawing.Color[])">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GridRendererOffice2007" /> using 
            a specified color palette.
            </summary>
      <param name="p">Array with 25 colors to be used as a palette.</param>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridRendererOffice2007.Highlight">
      <summary>
            Gets or sets the color used to paint the background of highlighted cells.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridRendererOffice2007.TracksMouse">
      <summary>
            Gets a value that determines whether this renderer renders hot cells 
            differently than normal cells.
            </summary>
      <remarks>
            Hot cells are cells currently under the mouse. If a renderer tracks the mouse,
            then it will be called as the mouse moves over the grid.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridRendererOffice2007.TracksSelection">
      <summary>
            Gets a value that determines whether this renderer tracks the selection to paint
            highlighted column and row headers.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2007.GetBackgroundBrush(C1.Win.C1FlexGrid.C1FlexGridBase,C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType,System.Drawing.Rectangle)">
      <summary>
            Gets the background brush for a cell.
            </summary>
      <param name="flex">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> that contains the cell.</param>
      <param name="cellType">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType" /> value that describes the type of cell being rendered.</param>
      <param name="r">
        <see cref="T:System.Drawing.Rectangle" /> that defines the cell bounds.</param>
      <returns>A <see cref="T:System.Drawing.Brush" /> used to paint the cell.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2007.GetBorderPen(C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType)">
      <summary>
            Gets a pen used to paint the cell borders.
            </summary>
      <param name="cellType">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType" /> that describes the type of cell being rendered.</param>
      <returns>A <see cref="T:System.Drawing.Pen" /> used to paint the cell borders.</returns>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2007.OnDrawCell(C1.Win.C1FlexGrid.C1FlexGridBase,C1.Win.C1FlexGrid.OwnerDrawCellEventArgs,C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType)">
      <summary>
            Draws a single grid cell of a specific type.
            </summary>
      <param name="flex">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> that contains the cell being drawn.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs" /> that provides information about the cell being drawn.</param>
      <param name="cellType">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType" /> value that determines the type of cell being drawn.</param>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridRendererOffice2007Blue">
      <summary>
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" /> that implements the Office2007 Blue visual style.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2007Blue.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GridRendererOffice2007Blue" />.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridRendererOffice2007Silver">
      <summary>
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" /> that implements the Office2007 Silver visual style.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2007Silver.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GridRendererOffice2007Silver" />.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridRendererOffice2007Black">
      <summary>
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" /> that implements the Office2007 Black visual style.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2007Black.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GridRendererOffice2007Black" />.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridRendererOffice2010Blue">
      <summary>
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" /> that implements the Office2010 Blue visual style.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2010Blue.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GridRendererOffice2007Blue" />.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridRendererOffice2010Silver">
      <summary>
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" /> that implements the Office2010 Silver visual style.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2010Silver.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GridRendererOffice2007Silver" />.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridRendererOffice2010Black">
      <summary>
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" /> that implements the Office2010 Black visual style.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererOffice2010Black.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.Win.C1FlexGrid.GridRendererOffice2007Black" />.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridRendererOffice2010Black.HeaderForeColor">
      <summary>
            Gets the foreground color of header cells in the normal state.
            </summary>
    </member>
    <member name="T:C1.Win.C1FlexGrid.GridRendererSystem">
      <summary>
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer" /> that implements the System visual style.
            </summary>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridRendererSystem.TracksMouse">
      <summary>
            Gets a value that determines whether this renderer renders hot cells 
            differently than normal cells.
            </summary>
      <remarks>
            Hot cells are cells currently under the mouse. If a renderer tracks the mouse,
            then it will be called as the mouse moves over the grid.
            </remarks>
    </member>
    <member name="P:C1.Win.C1FlexGrid.GridRendererSystem.TracksSelection">
      <summary>
            Gets a value that determines whether this renderer tracks the selection to paint
            highlighted column and row headers.
            </summary>
    </member>
    <member name="M:C1.Win.C1FlexGrid.GridRendererSystem.OnDrawCell(C1.Win.C1FlexGrid.C1FlexGridBase,C1.Win.C1FlexGrid.OwnerDrawCellEventArgs,C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType)">
      <summary>
            Draws a single grid cell of a specific type.
            </summary>
      <param name="flex">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridBase" /> that contains the cell being drawn.</param>
      <param name="e">
        <see cref="T:C1.Win.C1FlexGrid.OwnerDrawCellEventArgs" /> that provides information about the cell being drawn.</param>
      <param name="cellType">
        <see cref="T:C1.Win.C1FlexGrid.C1FlexGridRenderer.CellType" /> value that determines the type of cell being drawn.</param>
    </member>
    <member name="T:C1.Design.UITypeEditorStrings">
      <summary>
            Static class containing UI strings used by the designer.
            </summary>
    </member>
    <member name="T:C1.Util.Localization.Language">
      <summary>
            Specifies the language to be used for localizing the control.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Default">
      <summary>
            Localize the control to the language specified by the CurrentUICulture.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Arabic">
      <summary>
            Localize the control to Arabic.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Czech">
      <summary>
            Localize the control to Czech.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Danish">
      <summary>
            Localize the control to Danish.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Dutch">
      <summary>
            Localize the control to Dutch.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.English">
      <summary>
            Localize the control to English.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Finnish">
      <summary>
            Localize the control to Finnish.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.French">
      <summary>
            Localize the control to French.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.German">
      <summary>
            Localize the control to German.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Greek">
      <summary>
            Localize the control to Greek.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Hebrew">
      <summary>
            Localize the control to Hebrew.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Italian">
      <summary>
            Localize the control to Italian.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Japanese">
      <summary>
            Localize the control to Japanese.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Norwegian">
      <summary>
            Localize the control to Norwegian.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Polish">
      <summary>
            Localize the control to Polish.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Portuguese">
      <summary>
            Localize the control to Portuguese.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Russian">
      <summary>
            Localize the control to Russian.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Slovak">
      <summary>
            Localize the control to Slovak.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Spanish">
      <summary>
            Localize the control to Spanish.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Swedish">
      <summary>
            Localize the control to Swedish.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Chinese">
      <summary>
            Localize the control to Chinese (simplified, PRC and Singapore).
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Turkish">
      <summary>
            Localize the control to Turkish.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Persian">
      <summary>
            Localize the control to Persian (Farsi).
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Korean">
      <summary>
            Localize the control to Korean.
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.ChineseTraditional">
      <summary>
            Localize the control to Chinese (traditional, Taiwan, Hong Kong, and Macao).
            </summary>
    </member>
    <member name="F:C1.Util.Localization.Language.Hungarian">
      <summary>
            Localize the control to Hungarian.
            </summary>
    </member>
  </members>
</doc>