iGrid.NET vs. DataGridView
You may ask why someone needs our grid if the .NET Framework 2.0 already contains a similar one called DataGridView. This brief comparison tries to answer the question why DataGridView is a worse choice than our grid control in many practical tasks.
Flexibility and simplicity vs. built-in data binding
DataGridView is a data-bound grid control, and this is the main difference which may cause difficulties when you need a grid which isn't bound to a database. It is one of the main ideas of iGrid.NET – we wanted to give you a lightweight, easy-to-use and fast grid control suitable for creating tabular interfaces which are not data–bound first of all. Something similar to ListView but elegant and editable.
Many grid developers on the market are trying to create powerful data-bound grid controls. They add as many features as they can or see in other products to their ones, but this extra functionality is not needed in many cases. And moreover, the grid controls become very complicated due to all these additional features. We go the opposite way incluidng only the most needed features in our grid and thus providing you with the simplest and fastest grid control.
By the way, despite its simplicity, iGrid.NET provides you with a huge number of methods and events you can use to tune the behavior of the control so you can implement practically any data-bound interface you need; in DataGridView you stick to the standard predefined behavior and cannot change it a lot.
iGrid.NET is a fast DataGridView
DataGridView is enough slow. You can find many discussions devoted to this problem in the Internet (try search phrases such as "DataGridView slow", "DataGridView fast", or even "speed up datagridview"). Here is the first one we found: http://weblogs.asp.net/fbouma/archive/2005/10/29/428848.aspx
When we were designing the iGrid control, we kept in mind the problem of performance, and we specially optimized drawing/sorting/memory management code to get the highest possible performance.
Cells with different characteristics at any place - do it easily
Our control is oriented on the tasks in which you can store values of different types in the same column (or you can also have cells of different types, i.e. combo cells or check box cells in the same column). We do not say that it is not possible in the MS grid, but it is much harder to do that in DataGridView than in iGrid. In iGrid you simply access the cell matrix through the Cells object collection and set the required properties like in the following code:
iGrid1.Cells[2, 5].Value = 123;
iGrid1.Cells[3, 5].Value = "text";
iGrid1.Cells[3, 0].Type = iGCellType.Combo;
Can it be so simple in the MS grid? The answer is "no" because of their deep object organization.
Built-in grouping and tree structure
DataGridView does not support interactive/programming grouping of rows. In iGrid you can group rows automatically using the group box or from code, or you can create group rows of two types at any position manually. The ability to work with hierarchical data on which group rows are based is also used in another feature – in iGrid.NET you can create a tree view control with several columns, you simply make one column a tree.
Full support of printing and print-preview
You cannot print DataGridView using a standard control or class of the .NET Framework. iGrid.NET has a special add-on component called PrintManager you can use for that. Yes, you may say that there are some ready-to-use code snippets in the Internet you can use to print DataGridView, but as we know, none of them supports all the features you can use in DataGridView. Our PrintManager fully supports all the features you can use in iGrid.NET, and moreover, you can print the contents of the grid using numerous options.
Tons of small but useful features
In our iGrid.NET we implemented many enhancements which make the life of the developer better and allow to operate with data easier. Among these features the ability to sort the grid by several columns simultaneously, search-as-type functionality when you can find the required cell in a column by typing some characters from this cell's text, auto-complete lists which will help to enter long strings faster.
You as a developer can adjust the constituent parts of iGrid to suite particular needs - for instance, the iGrid.NET scroll bars can be semi-transparent to increase the amount of visible information and can contain additional custom buttons which perform useful tasks directly in the grid interface without encumbering the user interface in the form where the grid is placed:
Read what people say about iGrid.NET »
|