Grid
THN's Grid is a highly flexible and fast grid. Think of it as Excel-like grid + String Grid + Data Grid + Tree View put together. We hate the hard-to-use and hard-to-customize grid available in windows form .net. And certainly, we hate those bulky grids that are eye-candy but cannot handle a lot of data.
Screenhot
Grid in black theme
Grid in blue theme
Features
Treeview
The above screenshots shows our grid used as trees. We love this feature so much. Have you ever tried to make a multi-column tree with pre-built controls in windows forms? If you have, then you will understand why we love this feature. Enough said!
Highly customizable
Can you develope .net controls? If you can, then you already know how to customize our grid. Each individual cell in the grid is designed to be very similar to a .net control. That means you have the following methods at your disposal:
- * OnPaint
- * OnKeyUp / OnKeyDown / OnKeyPress
- * OnMouseUp / Down / Enter / Leave / Click / DoubleClick
Pretty much most of what needed to write a custom .net control. All of the above methods have the exact same method signature as .net Control class. You do not have study yet again to customize our cells.
We ourself had so much fun with this cell model. We did write bizzare custom cells normally not found in a grid such as animated pictures, flashy text, etc.
Themable
Similar to all other controrls in VUI, this grid also support skinning. The grid can be styled as a whole, or styled per cell basis. If that is not enough, write your own custom cell and plug it in the grid.
Automatic binding
The BindableGrid supports automatica binding to object data sources. From the designer, simply specify which column will be bind to will property of the object. Then assign an object list to the grid's data source. The grid will figure on its own how to translate data types and build all the neccesary cells.
Pre-built cell types
Cell Type |
Support for |
Text |
string and any object type that can be casted to strirng |
Boolean |
true/false types |
Date |
Date, time data types |
Numeric |
integer, currency, decimal, floating, natural numbers |
Image |
pictures |
Link |
hyperlink to an URL |
Progress |
showing percentage and progress |
Lookup |
foreign-relationship |
Popup |
custom popup editor |
High performance
One of the reason why we developed this grid was the fact that commercial third-party grids were so bulky and slow. They might be fancy, but they were utterly slow when there were many rows and nested groups. On the contrary, THN's grid comfortably works with millions of cells and rows without speed degration. (On average, a text cell occupies 183 bytes. Inserting 1.000 columns, 1.000 rows and 1.000.000 text cells requires 1.8 seconds)
Customizable editor
THN's Grid support two types of editors: inline and pop-up. Custom editor can be apply for any cell type. The following is a screenshot of a custom pop-up editor:
Sorting
Default sorting algorithm is quick-sort. You may choose from more than 10 different sorting algorithm. Or you may write your own algorithm and plug it in the grid.