<p>The Elegant Grid is a set of feature-rich and extensible .NET components designed to help developers easily create the presentation layer of table and hierarchical data for professional Windows Forms applications. All components are written in 100% managed C# and are CLS compliant.</p>

<p>The grid architecture is designed to be conceptually compatible with all the Windows Forms elements including&nbsp;<code>DataGridView</code>. This allows you to use your existing skills and knowledge when developing with the Elegant Grid.</p>

<h3>Key Features</h3>

<pre>
<strong>Data Bound Grid</strong></pre>

<ul>
	<li>The Elegant Grid provides full support for data binding to objects of different types, including instances of standard types such as&nbsp;<code>DataSet</code>,&nbsp;<code>DataTable</code>,&nbsp;<code>DataView</code>,&nbsp;<code>IList</code>, and&nbsp;<code>IBindingList</code>.</li>
	<li>Flexible column mapping allows you to display data from a table different from the primary table bound to the grid, which is especially useful when you are working with tables linked by relations and want to display meaningful values instead of IDs.</li>
	<li>Smart memory management, when only visible cell and row objects are instantiated using a memory pool for fast allocation/deallocation, dramatically reduces grid creation time and memory usage overhead.</li>
	<li>Mixed bound and unbound data in one grid.</li>
	<li>Data binding to jagged arrays.</li>
</ul>

<pre>
<strong>Unbound Grid</strong></pre>

<ul>
	<li>You can work with grid objects without binding to any data source. In this case, you have absolute control over the grid&#39;s contents by adding, removing, and modifying rows, cells and other grid elements.</li>
	<li>Built-in tree grid-like functionality with nested group rows and data rows allows you to group and display data in a logical and structured way.</li>
	<li>Support for adding rows to group rows on-the-fly.</li>
</ul>

<pre>
<strong>Virtual Grid</strong></pre>

<ul>
	<li>Ideal solution when you need to present data from a data source of huge size, for example, when you have millions of records in your data table.</li>
</ul>

<pre>
<strong>Data Sorting and Grouping</strong></pre>

<ul>
	<li>The bound grid supports multiple criteria sorting and grouping.</li>
	<li>You can additionally show a Microsoft Outlook-like&nbsp;<strong>Group by Box</strong>&nbsp;to enable the end user to perform grouping by drag-and-dropping items.</li>
	<li>Sorting and grouping by cell display values is supported.</li>
	<li>You can define your custom comparison criterion by using a particular event.</li>
</ul>

<pre>
<strong>Data Visualization and Editing</strong></pre>

<ul>
	<li>The following cell types are available for displaying and editing data: text, numeric, date/time, image, combo box, check box, color, and progress bar.</li>
	<li>Each cell supports an image and two buttons (ellipsis, check box, or drop-down) embedded in the left and/or right side of the cell contents.</li>
	<li>You can easily customize the look and feel of every particular visual element of a cell using a set of cell styles and events.</li>
	<li>When editing, data validation is supported, which allows you to subscribe to validation events and implement complete control over the data entry process.</li>
	<li>Alternatively, any of Windows Forms controls can be used as a data editor.</li>
	<li>Tooltip support for cells whose text does not fit inside the cell area.</li>
</ul>

<pre>
<strong>Column and Row Layout</strong></pre>

<ul>
	<li>Both column headers and row headers are supported.</li>
	<li>The end user can resize, reorder, or hide columns by using drag-and-drop or you can control their width, position and visibility programmatically.</li>
	<li>The row height is determined automatically by measuring the contents. You can also make the row height of a fixed size independently of the actual contents or implement your custom measuring logic.</li>
	<li>Three types of left indent are supported: indent for all the rows, indent for data rows relative to their group row, and indent for group rows relative to their parent row.</li>
</ul>

<pre>
<strong>Scrolling, Focus and Selection</strong></pre>

<ul>
	<li>Full control over row selection.</li>
	<li>Handy ways of controlling a vertical/horizontal scroll position in bound and unbound mode.</li>
	<li>Handy ways of controlling the focused item and how the focused item looks.</li>
	<li>Easy-to-use multiple selection in your code.</li>
</ul>

<pre>
<strong>Controlling Appearance</strong></pre>

<ul>
	<li>You can finely customize the way any cell looks and acts using the multi-level cell style mechanism. A variety of style properties can be tweaked at the grid level, at the column/row level, and at the cell level. Final style property values are calculated with inheritance rules.</li>
	<li>The Elegant Grid provides support for drawing each visual element using Windows theme support libraries, which allows the end-user to freely apply any third-party themes and theme tweakers.</li>
	<li>Each color filled area can be drawn with a custom graphic texture glyph.</li>
	<li>Appearance settings for a particular grid instance can be saved to a skin file and then loaded to any other grid instance.</li>
	<li>Built-in skins include:
	<ul>
		<li>Office 2013 AzureWhite</li>
		<li>Office 2013 AzureLightGrey</li>
		<li>Office 2013 AzureDarkGrey</li>
		<li>Office 2013 GreenWhite</li>
		<li>Office 2013 GreenLightGrey</li>
		<li>Office 2013 GreenDarkGrey</li>
		<li>Office 2013 OrangeWhite</li>
		<li>Office 2013 OrangeLightGrey</li>
		<li>Office 2013 OrangeDarkGrey</li>
		<li>Office 2013 RedWhite</li>
		<li>Office 2013 RedLightGrey</li>
		<li>Office 2013 RedDarkGrey</li>
		<li>Office 2010 Blue</li>
		<li>Office 2010 Silver</li>
		<li>Office 2010 Black</li>
		<li>Windows 7</li>
		<li>Office 2010 TP</li>
		<li>Office 2007 Blue</li>
		<li>Office 2007 Black</li>
		<li>Office 2007 Silver</li>
		<li>System</li>
	</ul>
	</li>
</ul>

<pre>
<strong>Exporting Data</strong></pre>

<ul>
	<li>Handy methods for exporting data from the bound, unbound and virtual grid to a file or a stream in the following formats:
	<ul>
		<li>Tab-delimited text</li>
		<li>HTML table</li>
		<li>Microsoft Excel XML workbook</li>
	</ul>
	</li>
	<li>Exported data can be limited by excluding column header cells, hidden columns, and collapsed rows and by exporting only a range of rows.</li>
</ul>

<pre>
<strong>Miscellaneous</strong></pre>

<ul>
	<li>The full design-time support in the Windows Forms Designer allows you to tune up the grid in a convenient and well known way.</li>
	<li>Each class is designed to allow you to easily extend the existing features both by subscribing to events and by inheriting from the classes implementing the Elegant Grid object model.</li>
	<li>The&nbsp;<strong>Allow Unsafe Code Blocks</strong>&nbsp;option is always set to false for the grid code, which allows the host application to be run with minimum security permissions.</li>
</ul>