These issues can be reproduced here:
1. Navigate to the above site on an iOS device (IPhone or IPad).
2. Touch the top right hamburger menu to open the Columns Display Form.
3. Touch a checkbox.
The first touch over a checkbox or its corresponding label is not changing the state of the checkbox but at the same time, the header buttons are switched to Done and Cancel (as if changes have been made).
Touching between separate column fields changes the state of the checkbox of the upper column but the same is not updating the header buttons (Back button remains visible and Done and Cancel remain hidden).
Video of reproduction - http://somup.com/crX0Q80F0j.
Enable filtering, Enable HeaderContextMenu and HeaderContextMenuFilter. First, filter using the HeaderContextMenu filter (e.g. OrderDate GreaterThanOrEqualTo "someDate" AND OrderDate LessThanOrEqualTo "someOtherDate" Second, apply a filter on another column using the Header filter only (e.g. Freight GreaterThanOrEqualTo "4") At this point, the filtering applied by the HeaderContexFilterMenu is now partially removed. Issue only appears when Header filter and HeaderContextMenu filter are used in combination. They work as expected when used separately.
HeaderContextMenu filter functions such as "GreaterThanOrEqualTo", "LessThanOrEqualTo" are not working.
This issue happens with the Header Context Menu. The following scenarios are affected:
Noticed that when using a template to custom define the pager look, the pager gets rendered in a TD and not a TH as expected since the pager is in a THEAD. Could the header pager only be modified to render in TH? This would allow all elements in the header to render the same and help with styling.
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
|
When I'm having an accessibility tool like JAWS read the numerical pager (see screenshot attached), it reads: "1 : Link", "2 : Link" etc. (and "Dot dot dot : Link" for any GridLinkButton with that text.) I want it to read a custom message, like "Go to page {0:D}", for the numerical pager GridLinkButtons, either in the corresponding GridLinkButton's title or aria-label attribute. The custom text should preferably be retrieved from GlobalResources. I also want to be able to provide a separate, customizable title/aria-label text for the [...] GridLinkButtons, too. For details see support ticket #1068383.
Axe Tool Accessibility
Structure for reproduction:
<telerik:RadGrid RenderMode="Lightweight" ID="RadGrid_CIPCodes" GridLines="None" runat="server" Skin="Bootstrap" role="application"
PageSize="10"
AllowPaging="true"
AutoGenerateColumns="False"
OnNeedDataSource="RadGrid_CIPCodes_NeedDataSource"
AllowSorting="true"
AllowFilteringByColumn="true"
GroupingSettings-CaseSensitive="False" FilterType="Combined"
EnableAriaSupport="true">
<MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="OrderID" HorizontalAlign="NotSet" EditMode="Batch" Caption="Master Table" AutoGenerateColumns="False"
AllowMultiColumnSorting="false"
NoMasterRecordsText="No new CIP Code(s) to add!" ShowHeadersWhenNoRecords="true">
<BatchEditingSettings EditType="Row" />
<CommandItemSettings ShowAddNewRecordButton="false" SaveChangesText="Save" CancelChangesText="Cancel" ShowRefreshButton="false" />
<SortExpressions>
<telerik:GridSortExpression FieldName="OrderID" SortOrder="Ascending" />
</SortExpressions>
<PagerStyle Mode="NextPrevAndNumeric" PageButtonCount="3" Position="Bottom" ChangePageSizeButtonToolTip="PageSizeButton" ChangePageSizeTextBoxToolTip="ChangePageSizeToolTip" />
<RowIndicatorColumn CurrentFilterFunction="Contains" FilterListOptions="VaryByDataType" Visible="False">
<HeaderStyle />
</RowIndicatorColumn>
<Columns>
<telerik:GridBoundColumn DataField="OrderID" HeaderStyle-Width="100px" HeaderText="CIP Code" SortExpression="CIP_Code" UniqueName="CIP_Code" ForceExtractValue="InEditMode"
FilterListOptions="VaryByDataType" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false" ReadOnly="true" FilterControlWidth="90px">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ShipCountry" HeaderStyle-Width="210px" HeaderText="Display Text" SortExpression="Display_Text" ForceExtractValue="InEditMode" AutoPostBackOnFilter="true"
UniqueName="Display_Text" CurrentFilterFunction="Contains" ShowFilterIcon="false">
<ColumnValidationSettings EnableRequiredFieldValidation="true">
<RequiredFieldValidator ForeColor="Red" Text="*This field is required" Display="Dynamic">
</RequiredFieldValidator>
</ColumnValidationSettings>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderStyle-Width="210px" HeaderText="Value" ShowFilterIcon="false" UniqueName="Disp_Value" DataField="ShipCountry" SortExpression="Disp_Value" ForceExtractValue="InEditMode" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains"></telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderStyle-Width="210px" HeaderText="Open Doors Code" UniqueName="OpenDoorsCode" DataField="ShipCountry" AllowFiltering="false" HeaderStyle-Font-Bold="true" ConvertEmptyStringToNull="true"></telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="STEM Eligible" DefaultInsertValue="" HeaderStyle-Width="100px" UniqueName="StemEligible" AllowFiltering="false" HeaderStyle-Font-Bold="true">
<ItemTemplate>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadDropDownList RenderMode="Lightweight" runat="server" ID="StemEligibleDropDown">
<Items>
<telerik:DropDownListItem Text="" Value="" Selected="true" />
<telerik:DropDownListItem Text="Yes" Value="1" />
<telerik:DropDownListItem Text="No" Value="0" />
</Items>
</telerik:RadDropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridCheckBoxColumn HeaderStyle-Width="100px" HeaderText="Add to DB" HeaderTooltip="header tooltip" UniqueName="AddToDB" AllowFiltering="false" HeaderStyle-Font-Bold="true" ToolTip="Is Checked?"></telerik:GridCheckBoxColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowKeyboardNavigation="true"></ClientSettings>
<FilterMenu>
<CollapseAnimation Type="OutQuint" Duration="100" />
</FilterMenu>
</telerik:RadGrid>
Data binding
protected void RadGrid_CIPCodes_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
(sender as RadGrid).DataSource = OrdersTable();
}
private DataTable OrdersTable()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("OrderID", typeof(int)));
dt.Columns.Add(new DataColumn("OrderDate", typeof(DateTime)));
dt.Columns.Add(new DataColumn("Freight", typeof(decimal)));
dt.Columns.Add(new DataColumn("ShipName", typeof(string)));
dt.Columns.Add(new DataColumn("ShipCountry", typeof(string)));
dt.PrimaryKey = new DataColumn[] { dt.Columns["OrderID"] };
for (int i = 0; i < 70; i++)
{
int index = i + 1;
DataRow row = dt.NewRow();
row["OrderID"] = index;
row["OrderDate"] = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).AddHours(index);
row["Freight"] = index * 0.1 + index * 0.01;
row["ShipName"] = "Name " + index;
row["ShipCountry"] = "Country " + index;
dt.Rows.Add(row);
}
return dt;
}
When filtering for a negative number in a GridNumericColumn with a Numeric Type of "Currency" and AutoPostBackOnFilter="true" filter loses its negative value on Enter keypress.
Setup to reproduce:
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" Width="800px" OnNeedDataSource="RadGrid1_NeedDataSource"
AllowFilteringByColumn="true">
<MasterTableView AutoGenerateColumns="False">
<Columns>
<telerik:GridNumericColumn DataField="Price" DataType="System.Decimal"
FilterControlAltText="Filter Price column" HeaderText="Price"
SortExpression="Price" UniqueName="Price" NumericType="Currency"
AutoPostBackOnFilter="true" CurrentFilterFunction="EqualTo">
</telerik:GridNumericColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
C#
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
(sender as RadGrid).DataSource = Enumerable.Range(1,6).Select(x=> new { Price = Math.Pow(-1, x) * (x * 0.1 + x * 0.01) });
}
Update: Items is marked as Won't Fix as the behavior is expected and is due to the nature of the batch mode. Changing it will result in a breaking change.
Hi Team Telerik, i found a bug in RadGrid. This one only appears in Chrome Webbrowser. Columnresizing only works once per column in chrome. You can see it right the way in your demo-site. Go to the Resizing Demopart and resize one column. Now try to re-resize it. It wont work. Best wishes Philipp
RadGrid throws a "Failed to load viewstate" exception in a specific setup with two level hierarchy and DateTimeColumns. Steps to reproduce: 1. Expand an item 2. Click on "Add new record button" in the expanded detail table view 3. Click "Cancel" 4. Click on"Add new record" this time on the master table view Code to reproduce: <telerik:RadGrid ID="rgComments" runat="server" AllowPaging="True" AutoGenerateColumns="false" DataSourceID="dsSpell"> <MasterTableView Width="100%" CommandItemDisplay="Top" DataKeyNames="OrderID"> <DetailTables> <telerik:GridTableView DataKeyNames="OrderID" DataSourceID="dsComment" Width="100%" runat="server" CommandItemDisplay="Top"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="OrderID" MasterKeyField="OrderID"></telerik:GridRelationFields> </ParentTableRelation> <Columns> <telerik:GridDateTimeColumn DataField="OrderDate" PickerType="DateTimePicker"> </telerik:GridDateTimeColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridDateTimeColumn DataField="OrderID" /> </Columns> </MasterTableView> </telerik:RadGrid> <br /> <asp:SqlDataSource runat="server" ID="dsComment" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT [OrderID], [OrderDate] FROM [Orders]"></asp:SqlDataSource> <asp:SqlDataSource runat="server" ID="dsSpell" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT [OrderID], [OrderDate] FROM [Orders]"></asp:SqlDataSource>
When page scrolling is enabled and scrolling down the page, the row context menu of RadGrid rows do not open at a correct position.
Demo: Video Recording
Testing conducted in Safari 13, MacOS
<script runat="server">
protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
(sender as RadGrid).DataSource = Enumerable.Range(1, 10).Select(x => new { Id = x, Name = "Name " + x });
}
</script>
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecorationZoneID="test" DecoratedControls="All" />
<div id="test">
<telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource" AutoGenerateColumns="true"
EnableHeaderContextMenu="true" FilterType="HeaderContext">
</telerik:RadGrid>
</div>
When Scrolling is enabled with Frozen columns in RadGrid, horizontal scrollbar not visible in Microsoft Edge. Issue appears in Microsoft Edge Version: - Microsoft Edge 42.17134.1.0 - Microsoft EdgeHTML 17.17134 WORKAROUND: Apparently, setting the horizontal scrollbar's height to 17 pixels will make Microsoft Edge display it. (Note: in case it still not displaying, you may try with 18px) To set the height, you can choose one of the options below: 1. Using CSS style to increase the size of the horizontal scrollbar by one pixel. <style type="text/css"> .RadGrid div[id$="_Frozen"] { height: 18px; /* or */ /*padding-bottom: 1px;*/ } </style> 2. Using JavaScript Subscribe the grid to its GridCreated client-side event, and in the event handler increase the element's height with the scrollbar then revert it back to its original size with a delay: <script type="text/javascript"> function GridCreated(sender, args) { $('div[id$="_Frozen"]').height(17); } </script>
Hi, I updated my code with version 2013.3.1114, but the method get_cell() of the GridDataItem has become case-sensitive. I have some codes that with version 2012.3.1016 that was working correctly. Is possibile to have the choice of case-sensitive / insensitive or at least have backward comaptibility ?