
Key Features
Nearly codeless development experience
Binding and customizing datagrids is a code-intensive and complex task even for advanced developers. Telerik RadGrid, however, significantly simplifies the control deployment by providing an almost codeless development experience:
• Codeless data-biniding
• Codeless insert, update, delete datasource operations
• Codeless paging, sorting, selecting, filtering
• Codeless grouping and hierarchy
• Codeless AJAX support
• Codeless interface styling

Automatic AJAXifying of embedded controls
When RadGrid is working in AJAX mode it will automatically AJAXify all standard and most 3rd party controls placed inside it. The engine intercepts the attempted postback request and replaces it with a much faster AJAX callback, updating only the relevant cells in real-time. No additional effort or code is required.
Hierarchical Structures with Many Tables
RadGrid allows presentation of related DataSets as hierarchical structures of tables. A unique feature of the component is the ability to have more than one tables in the same level of hierarchy.

AJAX mode for real-time performance
RadGrid has a built-in AJAX engine, which makes all server-side operations (paging, sorting, grouping, expanding) to be performed with AJAX requests, instead of complete postbacks. This mode dramatically improves performance and can be switched using a single property - EnableAJAX="True".

Client-Side Expand/Collapse
RadGrid now allows you to expand hierarchical tables client-side for better user experience. Moreover, you can specify the expand/collapse mode (client- or server-side) for each individual table, i.e. client-side for first level and server-side second level.
Similarly to the hierarchical mode, RadGrid can expand/collapse grouped items entirely client-side, eliminating the time-consuming postbacks for this common operation.

Automatic data editing operations
The data binding mechanism of RadGrid has been significantly enhanced to effectively utilize the automatic data editing operations of the .NET 2.0 DataSource controls:
- Automatic update/insert/delete from 4 types of columns: GridBoundColumn, GridCheckBoxColumn, GridDropDownColumn and GridTemplateColumn
- Automatic update/insert/delete from edit form template - RadGrid supports automatic updates even from templates that replace the default edit forms.
- API for programmatic invocation of automatic update/insert/delete
- Error handling API for automatic updates
- Update in both Pessimistic/Optimistic concurrency mode of the DataSource controls
- Declarative support for automatic data editing operations
Outlook-style Grouping
RadGrid allows easily implementation of multilevel Outlook-style grouping of data from a single table. Simply drag the column header(s) to the group panel on the top to define the grouping order and hierarchy. You can also programmatically group the data using the group-by expressions.
An unique feature is the ability for single- or multi-column sorting, while the data is grouped by two columns (e.g. group by one/two column(s) and sort by another column).

Virtual Scrolling/Paging with AJAX
Hold the Shift key and use the grid scrollbar to virtually change the grid pages. RadGrid will perform an AJAX request and silently change the page to the one set with the virtual scrollbar.

Multi-Column Sorting
In addition to the simple one-column sorting RadGrid allows you to sort data by several columns just like in Microsoft Excel.

Keyboard navigation
The accessibility features of RadGrid are further enhanced by the new support for keyboard navigation.
Filtering
RadGrid can now perform filtering operations for all columns that support filtering GridBoundColumn, GridCheckBoxColumn, etc. For each column there will be a dropdown menu with the available filter expressions.
RadGrid can automatically determine the expression set applicable for each column based on the data type of the field. Each column data type is automatically stored by RadGrid during data binding in the DataType property.

Column and Row Resizing
RadGrid supports convenient client-side column and row resizing with features like:
- real-time resizing
- resizing of the grid on column resizing
- clipping of the cell content on column resizing

Declarative support for custom editors
You can now add custom column editors to the WebForm. Then you can declaratively set a column to use these editors. Using this mechanism gives you a great flexibility and very easy customization of the edit forms.
Improved Drag&Drop Behavior
RadGrid allows easy and intuitive columns reordering with a single drag&drop functionality. Featuring an improved visual environment you can easily find out the areas you can use this feature.

Columns/Rows
Column Reordering with Drag-and-Drop
Telerik RadGrid allows users to quickly reorder the columns by simply drag-and-dropping their headers.

Rich Set of Column Types
RadGrid supports all widely used column types (Edit Command, Bound, CheckBox, Dropdown, PushButton, LinkbButton, HyperLink, ) as well as Templated columns, which give you complete freedom over the data layout and formatting.

Support for images in button columns
GridButtonColumn and GridEditCommandColumn now support ImageButtons - intuitive default images are now included for edit, update, insert, cancel, add new record, refresh and other, that can much improve the user experience.

Frozen Columns
This feature allows you to freeze a pane in your Grid datasheet/document, such that the rest of the Grid scrolls and the frozen cells stay in place, thus bringing Excel-like functionality. It's very useful for very wide tables with many columns of data.

Sorting/Selecting
Client-side Select Column
RadGrid now has a special column that allow you to select rows on the client using check boxes. Moreover, if multi-row selection is enabled, RadGrid will automatically render a "Select All" checkbox in the column header.

Multi-Row Selection and Area Selection
You can easily select multiple rows using Ctrl + Click or by simply dragging a range over the rows, which you want to select.


Paging/Scrolling
Slider Pager
Following the idea of the virtual scrolling first introduced in RadGrid v3.0, the new release features AJAX-based virtual pager for fast navigation through grid pages using a slider.

Search-Engine Optimized Paging
Typically data grids cannot be index by search engines because they would crawl only the first page. In contrast when RadGrid detects a search engine it will render the page numbers in the pager in such a way that crawlers will follow them and index the whole content page by page. Furthermore, a search engine hit would take you directly to the particular grid page.
Pager with templates and command API
The Pager item now can use templates. All command buttons in the template can take advantage of the paging command API, the PagerItem.Paging properties using binding expressions. This allows highest level of customization of the Pager item and even using custom logic for defining the appearance.

Scrolling with Static Headers
RadGrid enhances the simple scrolling by supporting static headers - you can scroll the grid data, while the header row always stays visible.


Populating with data
Binding to pivot table
RadGrid can now be bound to pivot table. This is especially useful when you want to display the data in a reverse order but still keep the same presentation and structure in the source table.

Codeless relations between grids on the page
In order to automate the common scenario of two related grids on a single page RadGrid provides a new property called SelectedValue. It lets you display specific data in one grid depending on the currently selected item in another grid on the page.
See live demo.
Viewstate Optimization
You can tune RadGrid performance by controlling the trade-off between client-side load and speed. When working with hierarchical data, you can choose one of the three available modes for loading the detail tables:
- ServerBind - optimum server load, viewstate and render size.
- ServerOnDemand - minimum viewstate and render-size, maximum server load.
- Client - minimum server load, maximum viewstate and render-size. Rich client browser functionality.

Grouping/Hierarchy
Self-referencing hierarchy
Since v4.0 RadGrid supports building multiple levels of hierarchy from a single table in the data source by specifying relations inside the same table.


AJAX
Transparent Loading Template
The new RadGrid further enriches the user experience by showing the grid data under the Loading Template. The transparency level can be controlled through a special property.

Codeless Response.Redirect support
Reinforcing the idea of codeless development Telerik RadGrid now natively supports Response.Redirect in AJAX mode, without the need for any code modifications.

Insert/Update/Delete
Extracting values from TemplateColumns
RadGrid can extract the values from a template column even under ASP.NET 1.x using the declarative DataBindingsDescrption collection.
UserControls and Templates as Edit Forms
RadGrid supports different edit forms for management of item content. You can switch the type of the edit forms using the GridEditFormType Enumeration - Web User Control, Template, etc.

Edit Forms Spanning Across Multiple Columns
RadGrid allows you to set the number of vertical columns, across which an autogenerated edit form will span.

Conditional Formatting
RadGrid now enables you to apply conditional formatting to grid elements for enhanced readability and usability of the displayed data.

Appearance
Consistent set of skins, switchable with a single property
RadGrid is now shipped with a consistent set of skins that allow you to easily build slick interfaces with the look-and-feel of Windows XP, Office, Visual Studio, etc. The skin can be easily switched using a single property.
See live demo.


Client-side API and Events
Client-side Delete
In addition to the server/AJAX delete feature of RadGrid there is support for delete operation client-side thus improving the user experience and optimizing the performance. This allows you to delete records without making additional round trips to the server. The actual deletion is done on a postback. When using client-side delete you can still benefit from features like "No more records" template, the ability to cancel the operation on the server, etc.
Easy access to DataKeyValues on the client
RadGrid allows you to retrieve the DataKeyValues on the client in a similar way as you would do it on the server. You need to specify which columns you need exposed, so that they are serialized and made accessible through the KeyValues client-side array.

Functionality
Default values for Items prior insertion
RadGrid allows you with just few lines of code set predefined values for specific Item input controls (e.g. dropdown list) prior to Item insertion. This lets you declaratively bind such input controls and later use their values when performing automatic updates.

Command Row for custom functions
GridCommandItem can be used to add function buttons in the content area of RadGrid, such as [Add New Record], [Refresh], [Delete Selected], etc.

Export to Word and Excel
You can easily export the content of RadGrid to Microsoft Excel and Microsoft Word.
Easy Migration form Microsoft DataGrid
The declarative syntax of RadGrid is quite similar to that of Microsoft DataGrid, therefore, the migration from DataGrid to RadGrid is very easy and intuitive.
Export in PDF Format
Besides the ability to export to Word, Excel and CSV, RadGrid supports now export to PDF format. You can also conveniently format your work in a new page or a new window upon exporting.

Integration
Custom Editors Support
Editable columns in RadGrid (Bound column, Dropdown column, CheckBox column) allow for replacing their default editors with custom ones, which gives the ability for enhanced functionality such as validation, rich-text editing, third-party controls. Once created, you can then easily re-use the custom editors for other grid implementations.
