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
https://www.screencast.com/t/4BCjMdLqQS5
Simply add a Column to RadGrid in the GridColumn Collection Editor of the Configuration wizard. You will note that a value for FilterControlAltText is autopopulated. When you hit Ok, that value is written in the column definition, in markup. If you clear that text in the editor, then, in markup you will find the value FilterControlAltText ="". This is useless clutter, which you should manually remove from the markup. The editor/designer should remove the property entry from markup if you clear the FilterControlAltText from the PropertyGrid in the GridColumn Collection Editor.
A valid SQL statement should look like SELECT * FROM Products WHERE ([Discontinued] = 1) or SELECT * FROM Products WHERE ([Discontinued] = 'True') but RadGrid provides something like ([Discontinued] = True) in the MasterTableView.FilterExpression property. By default RadGrid filters the data on its own after retrieving the entire data set form the data source, and the filtering operation works like that. If you will be using the filter expression provided by the grid in a custom data source operation you may need to tweak the string first. Note that changing this may result in a breaking change if you are already using the current syntax. Workaround: https://www.telerik.com/support/kb/aspnet-ajax/grid/details/get-sql-compliant-filterexpressions-from-radgrid
If a column does not have width set, it will not populate the Columns collection of the ExportInfrastructure in the BiffExprorting event http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/functionality/exporting/export-formats/excel-biff-export To be able to loop through all columns, you need to have width specified for them. This change has been introduced in Q3 2014 If you cannot do this for the standard grid rendering when defining columns, you can use the Grid.PreRender event to loop all columns and set some width for them: VB Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender 'workaround for BiffExporting event Columns collection not being populated if the column does not have width set Dim Grid As RadGrid = DirectCast(sender, RadGrid) If (Grid.IsExporting) Then For index = 0 To Grid.MasterTableView.Columns.Count - 1 Grid.MasterTableView.Columns(index).HeaderStyle.Width = 100 Next End If End Sub C# protected void RadGrid1_PreRender(object sender, System.EventArgs e) { //workaround for BiffExporting event Columns collection not being populated if the column does not have width set RadGrid Grid = (RadGrid)sender; if ((Grid.IsExporting)) { for (index = 0; index <= Grid.MasterTableView.Columns.Count - 1; index++) { Grid.MasterTableView.Columns(index).HeaderStyle.Width = 100; } } }
The Filtering context menu is not positioned properly when there is not enough height. It is positioned depending on the top border of the window, making the filters not accessible. Screencast: https://www.screencast.com/t/4dQEAczF9c2 Steps to reproduce: 1. Open http://demos.telerik.com/aspnet-ajax/grid/examples/functionality/filtering/excel-like-filtering/defaultcs.aspx 2. Resize the browser so the last elements of the Grid are not visible 3. Open the Filtering context menu Result: It is shown with too big negative top margin
As shown in the attached screen, please keep the column headers Fixed or Visible so they are still visible when users scroll down to see the other data, for both RadGrid and PivotGrid:
A workaround is to take the header border color and set it to all rows - Default skin .RadGrid_Default .rgRow > td, .RadGrid_Default .rgAltRow > td { border-left-color: rgb(130, 130, 130); } - BlackMetroTouch skin .RadGrid_BlackMetroTouch .rgRow > td, .RadGrid_BlackMetroTouch .rgAltRow > td { border-left-color: rgb(51, 51, 51); } .RadGrid_BlackMetroTouch .rgRow > td, .RadGrid_BlackMetroTouch .rgAltRow > td { border-bottom-width: 0px; /*remove extra space between rows that becomes visible when you put on borders for alt rows*/ } - WebBlue skin .RadGrid_WebBlue .rgRow > td, .RadGrid_WebBlue .rgAltRow > td { border-left-color: rgb(69, 95, 119); }
If there are hidden columns before the ColumnGroups while exporting to excel (format Xlsx), header text of columngroups are shifted to the left. - Workaround, is to move the hidden column after the ColumnGroups.
At the moment, RTL support for excel like filtering is not implemented. It displays the following issues - menu position is wrong (tends to show up on the column to the left) - controls alignment inside the menu is wrong (ltr) You can find attached a sample and screenshots with the current behavior
The date pickers default to the year 1999 and do not accept inputs, so you cannot filter GridDateTimeColumn instances through the header context menu or the excel-like filtering. The standard filter item and range filter can still be used instead of context menus, but they are not available with excel-like filtering.
I have a RadGrid with around 150 columns and a few hundred rows. Currently, I'm looping over them and setting their widths with the resizeColumn function. Unfortunately, it's triggering a recalculation of the layout every time I call this function, so the total page load time can be in the minutes. Oddly, much of the time was spent on the line: e.style.width=e.offsetWidth-d+"px"; Chrome's developer tools helpfully pointed me at Forced Reflow. Apparently, when a width is set, initially no extra work is done. When another width is requested, the previous width may have changed it, so the whole layout gets recalculated. The feature I'd like to request is a function to set column widths in bulk (accepting anything like an array or a dictionary would be fine) that doesn't trigger this recalculation mid-function.
We have a RadGrid, which has a set of columns, lets say C1 to CN. Some of those columns are invisible and can be made visible with the Columns context menu, your control provides. Assume a column Ci, that is not visible now. If there exists a visible column Cx with x > i, your control works as expected. The column spans of the headline are ok. See GoodCase_Step.jpg If there is no visible column Cx with x > i and Ci is switched visible, your column spans within the headline become completely invalid. See BadCase.jpg_Step.jpg We use Version 2017.3.913.45 of your library. Thanks for your Support!
Please provide the ability to customize the way filtering works when RenderMode=Mobile. Allows for template filtering, and ColumnHeader filtering similar to Lightweight rendering.
Workaround: Using the Page_Load event handler, verify which control has initiated the postback as well check whether the Event argument is PageSize. protected void Page_Load(object sender, EventArgs e) { if (IsPostBack && Request.Params["__EVENTTARGET"].StartsWith(RadGrid1.UniqueID)) { // check whether the command was PageSizeChange if (Request.Params["__EVENTARGUMENT"].Contains("PageSize;")) { string[] details = Request.Params["__EVENTARGUMENT"].Split(';'); GridTableView tableView = FindControl(details[0].Replace("FireCommand:", "")) as GridTableView; int newPageSize = int.Parse(details[2]); Label1.Text += "TableView Name: " + tableView.Name + ", NewPageSize: " + newPageSize+"<br />"; } } }
Repro steps: - go to the RadClientDataSource binding demo: https://demos.telerik.com/aspnet-ajax/grid/examples/data-binding/client-side/client-data-source-binding/defaultcs.aspx - filter a column so there is no data in the grid - remove the filter Actual: the pager is gone Expected: the pager is there SOLUTION: see the following KB article: https://www.telerik.com/support/kb/aspnet-ajax/grid/details/clientdatasource-binding-after-filtering-so-no-records-are-present-and-removing-the-filter-there-is-no-pager You can show the pager when the filter command is executed: function OnCommand(sender, args) { if (args.get_commandName() == "Filter") { $telerik.$(sender.get_element()).find(".rgPager").show(); } } A fix in the codebase of the grid will take time, effort and will have to wait in the queue, which is why this is the official solution.
Workaround: https://www.telerik.com/support/kb/aspnet-ajax/grid/details/clientdatasource-binding-and-batch-editing-page-is-reset-to-1-after-deleting-a-record A fix in the codebase of the grid will take time, effort and will have to wait in the queue, which is why this is the official solution.