2023-01-05 16:32:28 +00:00

12769 lines
675 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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>