Hi,
In the Glow Theme the Filter Input Box is not visible.
Regards,
Jamil
https://www.screencast.com/t/4BCjMdLqQS5
When using the Grid with the Material skin, the drag selection overlay is not visible. After inspecting the DOM, I found that the overlay element uses the GridRowSelector_Material class:
<span class="GridRowSelector_Material" style="position: absolute; z-index: 1000100; opacity: 0.1; top: 525px; left: 321px; width: 844px; height: 36px;"></span>
However, this class is not defined in the Material skin's stylesheet, which results in the overlay having no visible background.
Steps to Reproduce:In version 2025 Q2, I am getting the following error message when opening the RadGrid in design mode:
System.NullReferenceException: Object reference not set to an instance of an object. at Telerik.Web.UI.Licensing.TelerikLicense.get_CurrentHost() at Telerik.Web.UI.Licensing.TelerikLicense.get_IsLicenseValid() at Telerik.Web.UI.RadGrid.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Design.ControlDesigner.GetDesignTimeHtml()
Form controls rendered by the embedded columns (GridBoundColumn, GridDateTimeColumn, GridNumericColumn, etc.) in EditMode="Batch" do not have a label set and fail the accessibility checks.
Hi Team,
I would like to request a way to insert a new record at the bottom of the InPlace Editable RadGrid so that the row would be within the RadGrid container.
Thank you!
After upgrading to 2025 Q1, RadGrid throws the exception:
Uncaught TypeError: t is not a function
The manually entered value of RadDateTimePicker is replaced with the original one in Batch Edid mode in iPad. To reproduce this incorrect behavior add a new <telerik:GridDateTimeColumn HeaderText="Start Date" UniqueName="StartDate" DataField="StartDate" DataFormatString="{0:MM/dd/yyyy}"> </telerik:GridDateTimeColumn> column in the Batch Edit demos of RadGrid and test under iPad. Tap over RadTextBox, enter some new date and press Go/tap out and you'll see the problem.
A workaround is to access the column and replace the text of the cell with a <label> control. Examples are attached below
GridAutoCompleteColumn columns cannot be created programmatically during OnLoad event, but only using the OnInit event. In the attached sample, if you comment out panelOnInit.Controls.Add(gridOnInit); and uncomment panelOnLoad.Controls.Add(gridOnLoad); when you click Edit in one row the following exception is thrown Cannot create column with the specified type name: GridAutoCompleteColumn But if you comment out panelOnLoad.Controls.Add(gridOnLoad); and uncomment panelOnInit.Controls.Add(gridOnInit); the sample works Note that if you change the GridAutoCompleteColumn for any other control type, for example GridHTMLEditorColumn, both methods will work.
Hi,
Heres a simple one: I have a dynamic grid `MasterTableView.EnableColumnsViewState = false;` on page init and all works fine. However, when the client/browser show a dynamic column thats hidden (or vise versa), and the column is gone on postback (being a dynamic grid this can happen), the LoadClientState tries to get the column - and if it fails to, it breaks down hard.. Instead it should just ignore it, as its just a pretty un-important show/hide state.
Your RadGrid code goes something like this:
LoadClientState ->
if (clientState.ContainsKey("showedColumns")) ->
control.GetColumn(columnUniqueName).Display = true; <-- just ignore this if not found - also on the others like hide, resize etc.
Thank you!... +1 for making this html editor a MD flavor instead :)
/Anders
Upon inserting a new record after filtering on the Grid with No records, the exception "No property or field 'Name' exists in type 'DataRowView'" is thrown.
Steps to reproduce:
Code to replicate the issue:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AllowFilteringByColumn="true"
OnNeedDataSource="RadGrid1_NeedDataSource" OnInsertCommand="RadGrid1_InsertCommand">
<MasterTableView CommandItemDisplay="Top" DataKeyNames="ID">
<Columns>
<telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
<telerik:GridButtonColumn CommandName="Delete"></telerik:GridButtonColumn>
<telerik:GridBoundColumn DataField="ID" HeaderText="ID" UniqueName="ID" ReadOnly="true"
CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
<telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name"
AutoPostBackOnFilter="false" />
<telerik:GridBoundColumn DataField="Category" HeaderText="Category" UniqueName="Category" DataType="System.String"
CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
<telerik:GridBoundColumn DataField="Price" HeaderText="Price" UniqueName="Price"
CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" DataFormatString="{0:C}" />
</Columns>
<EditFormSettings InsertCaption="Add New Item" />
</MasterTableView>
</telerik:RadGrid>
C#
private const string DataTableSessionKey = "RadGridDataTable";
private DataTable SessionDataSource
{
get
{
DataTable dt = Session[DataTableSessionKey] as DataTable;
if (dt == null || !IsPostBack)
{
// Create an empty DataTable with schema defined
dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID"] };
Session[DataTableSessionKey] = dt;
}
return dt;
}
}
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
(sender as RadGrid).DataSource = SessionDataSource;
}
protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e)
{
GridEditableItem insertItem = (GridEditableItem) e.Item;
Hashtable newValues = new Hashtable();
insertItem.ExtractValues(newValues);
DataRow findLastItem = SessionDataSource.Select("ID=MAX(ID)").FirstOrDefault();
newValues["ID"] = findLastItem != null ? (int) findLastItem["ID"] + 1 : 0;
DataRow rowToInsert = SessionDataSource.NewRow();
foreach (DictionaryEntry entry in newValues)
{
rowToInsert[entry.Key.ToString()] = entry.Value ?? DBNull.Value;
}
SessionDataSource.Rows.Add(rowToInsert);
}
When the JAWS screen reader is used alongside the Grid with enabled keyboard navigation, using Alt + Up/Down arrow doesn't work as intended, most noticeably trying to use Alt + UpArrow doesn't move the focus to the previous row.
This behavior can be observer on the Keyboard navigation demo as well
For RadGrid, after setting EnableKeyboardShortcuts to false, I find the Up/Down keys are also disabled. However, according to your online document below, the Up/Down keys shouldn't be disabled in this case.
According the Keyboard Support online demo, these buttons should not get disabled:
"The grid also features an additional property ClientSettings -> KeyboardNavigationSettings -> EnableKeyboardShortcuts which when set to false will disable all keyboard navigation shortcuts except for the Up/Down and Page Up/Page Down keys."
.hasChanges() results in records flagged for Delete to not actually get deleted when .saveChanges() executes.
I found the same behaviour on a LiveDemo example that checks .hasChanges(): Grid - Binding to Telerik ClientDataSource
Steps to reproduce:
It would be good to add this functionality for a better customization of the Grid's newly inserted rows.