Known Limitations
This article lists known limitations and unsupported RadGrid scenarios so that you can account for them during implementation.
ViewState
Some functionality is not supported when the EnableViewState property of RadGrid is set to False. For details, see Optimizing ViewState usage.
Grouping
Aggregates Show Results Only for the Current Page
When paging is enabled and a group continues onto another page, group aggregates include only the records visible on the current page.
Edit Forms Are Not Shown When GroupsDefaultExpanded Is False
Set GroupsDefaultExpanded to True (the default value), then collapse all groups programmatically during the initial load.
Collapse groups during the initial load while keeping edit forms available
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
RadGrid grid = (RadGrid)sender;
foreach (GridGroupHeaderItem groupHeaderItem in grid.MasterTableView.GetItems(GridItemType.GroupHeader))
{
groupHeaderItem.Expanded = false;
}
}
}Paging
Autogenerated hierarchy with paging is not supported.
Editing
Using a Popup Edit Form when both grouping and scrolling are enabled is not supported in RadGrid because of a browser limitation.
Filtering
- GridDropDownColumn does not support filtering by ListTextField. Filtering uses the DataField from the grid's data source. ListTextField controls the text displayed in the drop-down, while ListValueField maps the value from the drop-down data source.
Multicolumn Headers
The following features are not supported with multicolumn headers:
- Frozen columns
- Client-side show or hide operations
Dragging on Mobile Devices
On mobile devices, row dragging and grid scrolling use the same touch gesture on the grid content area. When both features are enabled, RadGrid cannot determine which operation the gesture should perform.
Use a GridDragDropColumn to distinguish the actions. Users can drag rows by using the icon in that column, while the rest of the content area remains available for scrolling.
Client-Side Data Binding
Client-side data binding can improve performance, but it has the following limitations:
- Data editing and grid editors: The control is bound on the client and does not make subsequent server requests, so the default server-side editors are not rendered.
- Hierarchical structures: Client-side data binding does not provide out-of-the-box support for hierarchical structures.
- Grouping: Grouping is not supported with client-side binding. Use server-side binding for grouping.
- Sorting and filtering: Pass the sorting and filtering expressions to the page method that returns the data instead of applying them through the server-side data source configuration.
- Exporting: The grid must be bound on the server for exporting to work. Client-side binding produces an empty export file.
- Templates:
NestedViewTemplateandDetailItemTemplateare server-side templates and are not supported with client-side binding.
Model Binding
Model binding is not supported when page view state is disabled. Set Page.EnableViewState = true before using model binding.
Frozen Columns
Frozen columns are implemented by hiding and showing columns rather than by scrolling the columns themselves. This implementation has the following limitations:
- Resizing frozen columns is not supported.
- Using hidden columns (with Display set to
False) together with frozen columns is not supported. Hidden columns reappear after scrolling. - Merged headers with frozen columns are not supported.
- Tabbing between text boxes in an inline edit form is not supported out of the box because frozen and non-frozen columns scroll together. In selected scenarios, you can handle the text boxes' focus events and scroll the appropriate
<div>with JavaScript. The<div>has the client ID<%= RadGridInstance.ClientID %>_Frozen. - The OnScroll client-side event does not fire during horizontal scrolling.
- Frozen columns are not supported in detail tables of a hierarchical grid.
Exporting
The export engine has format-specific limitations.
- OnGridExporting cannot modify the PDF because the PDF is already generated when the event is raised. Use the OnPdfExporting event described in the PDF export topic.
- Image transparency
- Right-to-left fonts
- Nested
divelements with absolute positioning - Nested
divelements with a specified width or height - Automatic text clipping
- Client-side binding
- Medium trust
ExcelML
- When exporting a grouped RadGrid, all groups are expanded regardless of their current state.
Biff
- Hierarchy
- Grouping
- Automatic column or row resizing
- Active links
HTML-Based Formats
- Embedded images are not supported.
- To avoid missing content, make the RadGrid visible temporarily before exporting it.
- OpenOffice and AbiWord do not support this standard and may not display the files correctly.
- Microsoft Office versions earlier than 2003 are not guaranteed to display Office HTML formats correctly.
Excel Format (HTML-Based)
When you open the generated .xls file in Microsoft Office 2007, you can receive a warning that the file format differs from the file extension. This warning is expected for the HTML-based Excel format.
CSV
- Hierarchical structures
- Grouping
- Exporting an invisible RadGrid
Other Limitations
Column UniqueName and DataField
Column DataField and UniqueName values must contain only letters, numbers, and underscores. Names must not start with a number. Auto-generated columns with numeric prefixes are not supported.
Change Header Text for Automatically Generated Columns
Use the DataField property when setting the HeaderText of an automatically generated column.
Set the header text of an automatically generated column from its data field
protected void RadGrid1_ColumnCreated(object sender, GridColumnCreatedEventArgs e)
{
if (e.Column is GridBoundColumn)
{
e.Column.HeaderText = ((GridBoundColumn)e.Column).DataField;
}
}