dhtmlxGrid provides the ability to define a custom schema for the XML to be used for loading the grid. You can define names (and coding) of tags for top, row, and cell elements. Also, any attribute included in the tag of a row or a cell can be accessed with internal grid API functions.

Headers and footers in the grid can contain multiple rows with various combinations of colspan and rowspan. Each cell can contain either simple text or complex HTML objects.

The Professional Edition of dhtmlxGrid allows columns to be moved either with script or directly with a mouse by the user. Also, there are script methods for adding and removing columns from the grid.

Paging is the easiest way to manage large number of records within the grid and make it comfortable for users to work with it. What's nice about dhtmlxGrid paging output is that you can enable it in any grid with a single JavaScript command, without changing anything in the grid configuration.
dhtmlxGrid paging uses a non-linear
buffer, which makes it more useful, since it renders only records which are going to be included in
the page regardless of the position of the page.
Although dhtmlxGrid Standard Edition is paging-ready (you can implement it using script API), the full paging
support, including the ability to use dhtmlxToolbar,
is implemented in the PRO Edition only.
Smart Rendering is a powerful feature that improves performance of tables that have a great number of records. The main advantage of this mechanism is the ability to render table data (this process is the slowest in DHTML) only when it gets to the visible area (while scrolling).
At the same time, most API methods will still be able to operate on invisible content – namely, content loaded onto the browser but not rendered on the page. Using Smart Rendering, together with dynamic loading, you can work with really large amounts of data while still preserving performance speed.

dhtmlxDataProcessor and dhtmlxConnector for dhtmlxGrid manage the process of loading/updating data on the server side. It can be configured for your particular datasource. dhtmlxConnector supports PHP5 and Java with MySQL, PostgreSQL, Oracle, MS SQL, and ASP.NET with SQL Server. Its client-side layer can be used for any other server-side technology.

To allow greater flexibility, dhtmlxGrid uses a unique mechanism called eXcell (extended cell) to define the data format and the way of editing data for each column (cell). Our Ajax grid control provides a wide variety of cell formats including text, image, combo box, list box, check box, and radio buttons, link, price, etc. If a cell contains multi-line text, it can be edited with a popup text editor or wrapped automatically in a cell.
Along with standard ways of column editing/formatting (text, combo box, checkbox, etc.), there are special types of eXcell included in the dhtmlxGrid package. For example, the table on the live demo uses a specific eXcell type to represent dynamic data in the Sales and Price columns. For details about the creation and use of new eXcell type, please refer to the documentation.

When some columns need to remain visible, independent of horizontal scrolling position, we've implemented the ability to freeze columns and split the grid into two parts, keeping the ability to navigate in both parts independently.
You can easily transfer the grid data to Excel or PDF. The export result preserves the structure and layout of the original grid. Export functionality is available for PHP, Java, and ASP.NET. Find the download links here.

dhtmlxTreeGrid is a JavaScript UI component that combines a treeview and an editable grid.
It is based on our dhtmlxGrid, and deploys all the functionality of the grid control, enabling both hierarchical
and tabular data presentation.
For more information, please visit dhtmlxTreeGrid home page.

