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.
When I try to set the Skin to Material I obtain the following Error:
WebResource.axd?d=e4b2sCc8Q8M6A2MgSsDltOpyL908K1Q7T29bPdSz7Supj8wwNwBiCRISuCJlWYcTaJsmG21ZOfynS4jGurXXbpli-ERqUAuqN0-JIBovYD49aTvhGO3Rn_RCmsSdUlmwuseC48k3n557KQEGgkr2hCHOsY41&t=638423073240000000] DETAILS: System.Web Exception: msg:Richiesta webresource non valida.
The problem happens when the ButtonType="ImageButton" is set with the Material skin:
<telerik:GridEditCommandColumn ButtonType="ImageButton" HeaderStyle-Width="20px" >
</telerik:GridEditCommandColumn>
<telerik:GridButtonColumn ButtonType="ImageButton" UniqueName="DeleteColumn" Text="Elimina" HeaderStyle-Width="20px" CommandName="Delete" ConfirmText="Procedere con la cancellazione del Cimitero?"></telerik:GridButtonColumn>
Found an additional issue when implementing this on a project:
When aria-enabled=true and we follow their instructions if we have a gridnumericcolumn in the grid, then we get a finding that "Elements must only use supported ARIA attributes" because To solve this problem, you need to fix the following:
ASPX
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" AllowFilteringByColumn="true" OnNeedDataSource="RadGrid1_NeedDataSource" EnableAriaSupport="true">
<ClientSettings>
<ClientEvents OnGridCreated="OnGridCreated" />
</ClientSettings>
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="ID" HeaderText="ID" UniqueName="ID" />
<telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name" />
<telerik:GridCheckBoxColumn DataField="IsActive" HeaderText="Active" UniqueName="IsActive" />
<telerik:GridNumericColumn DataField="Score" HeaderText="Score" UniqueName="Score" DataType="System.Int32" DataFormatString="{0:N0}" />
</Columns>
</MasterTableView>
</telerik:RadGrid>
ASPX.CS
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
// Creating a dummy data source
var data = new List<DummyData>
{
new DummyData { ID = 1, Name = "John Doe", IsActive = true, Score = 88 },
new DummyData { ID = 2, Name = "Jane Doe", IsActive = false, Score = 92 }
};
RadGrid1.DataSource = data;
}
public class DummyData
{
public int ID { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
public int Score { get; set; }
}
When the AriaSupport for the Grid is turned on, an aria-label is added to each column header automatically using the UniqueName of the column. The problem is - UniqueName doesn't support empty spaces - all "labels" must be single words or use Underscores - and the screen readers say "underscore."
So my column of "call_date" results in "Call underscore Date" - which is not useful for visually impaired people.
The submenu with filtering options has elements that overflow the sliding element:
When EnablePostBackOnRowClick="true" and clicking on the RadAutoCompleteBox inside the EditItemTemplate the Grid will make a PostBack.
This issue does not happen with other elements (span, input, button, etc).
ResizeGridOnColumnResize is not working the same way when Grid has StaticHeaders.
I want to resize the grid based on the contents and still be able to scroll with headers.
When scroll inside RadGrid in Chrome on a mobile device or in the DevTools responsive/mobile mode, the browser throws [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080. I get 1 error message for every pixel the grid scrolls. The problem is due to jQuery and is reproducible with 1.12.4 and 3.3.1 versions of it.
Applying styles to the rows when exporting to PDF causes the Grid to duplicate the column headers at page breaks.
When EnableLinqGrouping is set to True (default) Group Aggregates do not have Case sensitive calculations.
Hi,
I have a grid with detail tables. When the user expands an entry in the parent table, the child table data gets populated via the DetailTableDataBind event. That's all working properly when things go right. I'm trying to implement something to address when the detail data retrieval fails.
I've tried setting Cancelled = true in the GridDetailTableBindEventArgs parameter, but that appears to do nothing.
What's even more strange is that if I don't set the value of DetailTableView.DataSource, or I set it to nothing, the value of DetailTableView.DataSource takes on the value of the parent item datasource. That produces an exception because the parent table doesn't have the columns specified in the detail table DataKeyNames property. If I clear the DataKeyNames, I can prevent the exception. But then the child grid shows the parent grid records.
The following is a sample DetailTableDataBind Event: What can I do to either prevent the parent item from opening, show an empty child item, etc?
Protected Sub rgGrid_DetailTableDataBind(sender As Object, e As GridDetailTableDataBindEventArgs) Handles rgErrorGrid.DetailTableDataBind
Select Case e.DetailTableView.Name
Case "DetailTableName"
Dim dataItem As GridDataItem = TryCast(e.DetailTableView.ParentItem, GridDataItem)
Dim KeyVal As Integer
Dim dt As DataTable = Nothing
If Integer.TryParse(dataItem.GetDataKeyValue("ID").ToString(), KeyVal) Then
dt = GetDetailTable(KeyVal)
End If
If dt Is Nothing Then
' What do I need to do here to either prevent the parent item from expanding, or show an empty grid...without throwing an exception?
e.DetailTableView.DataSource = Nothing
e.Canceled = True
Else
e.DetailTableView.DataSource = dt
End If
End Select
End Sub