Steps to reproduce: 1. Add a grid with several columns, so there is horizontal scroll bar 2. Add an image to the grid ImageList 3. In the CellFormatting assign the ImageKey of a cell to a value You will notice that the images are not applied initially. You have to scroll the column where you apply the images out of view and bring it back in to see the images. WORKAROUND Instead of setting the ImageKey property, set the Image property to the corresponding image from the image list.
To reproduce: - Filer twice by a single column with Excel-like filtering. - The second time InvalidCastException will occur. Workaround: - Create custom columns and override the GetDistinctValues method. public class MyColumn : GridViewTextBoxColumn { protected override GridViewColumnValuesCollection GetDistinctValues() { int index = this.Index; if (index >= 0) { GridViewColumnValuesCollection distinctValues = new GridViewColumnValuesCollection(); foreach (GridViewRowInfo row in this.OwnerTemplate.Rows) { object cellValue = row.Cells[index].Value; if (!distinctValues.Contains(cellValue)) { distinctValues.Add(cellValue); } } if (distinctValues.Count > 0) { return distinctValues; } } return null; } }
To reproduce: - Add a grid with some columns to a blank form (the rows should not fill the entire space). - Press and hold the left mouse button, the move the mouse to the empty area of the grid. - Continue to move the mouse and you will notice the event is fired several times. Workaround: - use the CurrentCellChanged event.
To reproduce: - Open the examples solution in Visual Studio. - Navigate to hierarchy example. - Enable the excel like filtering for all templates. - Start the application and open the hierarchy first look example. - Add a new row in the second template. - Add such filter that only the newly added row will remain visible. - Expand the new added row and try to add new row to it.
To reproduce: public Form1() { InitializeComponent(); radGridView1.Columns.Add("Id"); radGridView1.Columns.Add("ParentID"); radGridView1.Columns.Add("Name"); radGridView1.Relations.AddSelfReference(radGridView1.MasterTemplate, "Id", "ParentID"); for (int id = 1; id <= 3; id++) { radGridView1.MasterTemplate.Rows.Add(id, 0, "Node_" + id); for (int iChild = 1; iChild <= 5; iChild++) { int childId = id * 100 + iChild; radGridView1.MasterTemplate.Rows.Add(childId, id, "ChildNode_" + childId); } } foreach (GridViewHierarchyRowInfo row in this.radGridView1.Rows) { row.IsExpanded = true; } }
RadGridView should support indexed full-text search out of the box.
A few threads have been posted over the years to ask about natural sorting, which is clicking a column header to go Ascending, Descending, then back to the default unsorted mode on the third click. I looked around for a tri-state or three-state toggle and didn't find any info. Very helpful but incomplete info is found here and here, so I thought I'd provide C# code to help anyone else looking to do this. Some threads refer to MasterGridViewTemplate.AllowNaturalSort but that property no longer exists. My code is adapted from the second forum posting referenced. It looks like the library has changed since Sean wrote his code. Telerik.WinControls.Data.SortDescriptor.Direction is of type System.ComponentModel.ListDirection, and that enum only has two values. So the Boolean _sorted is used - if the grid is sorted in ascending or descending order, then use the sort order, but if we click past descending order, set _sorted to false (natural sort!) and clear the SortDescriptors. Of course clearing SortDescriptors means this only works with single column sorting. Maybe someone will follow-up here with a solution that works with multiple columns.
i use a radgridview whits does not allow edit. i press control-v at a cell and it pastes to the cellvalue the last copied to clipboard text. is there a way to do that only if the grid allows edit?
NullReferenceException is thrown, when the following steps are performed: 1. Scroll horizontally 2. Move a column by mouse drag and drop. 3. Start writing in the filter cell of the moved column 4. Suddenly the editor is closed. 5. When you try to write in the filter cell again, exception is thrown. Work around: void radGridView1_EditorRequired(object sender, Telerik.WinControls.UI.EditorRequiredEventArgs e) { if (e.EditorType == typeof(RadTextBoxEditor)) { e.Editor = new RadTextBoxEditor(); } }
Improve localization of invalid parameter messages and Item text in Conditional Formatting Form of RadGridView.
RadProgressBarElement is not clipped correctly, when is used as child element of custom cell element in RadGridView.
Scrolling causes RadGridView to be in invalid mode, when the editor is closed and validating fails.
Clearing all rows does not clear the pinned rows collection in RadGridView.
DisableHTMLRendering property of the column does not effect the items in ColumnChooser.
Scroll bar calculations are wrong, when rows are hidden in CellClick event.
The editor does not remain focused when cell has invalid value and mouse down button is pressed over another cell.
Self-referencing hierarchy does not occur, if you bind the grid inside BeginUpdate-EndUpdate method invocation.
The active text box editor overlaps the bottom cell border, when RadGridView uses Windows 7 Theme.
The Active editor is not focused when the CellValidating event is canceled and navigation is performed.
The cell navigation is wrong when the grid is ungrouped. Steps to reproduce: 1. Enable cell selection mode 2. Navigate with keyboard 3. Group the RadGridView by one column 4. Navigate with keyboard 5. Ungroup the RadGridView's rows 6. Now Keyboard navigation is wrong. Same behavior appears with the default selection mode: - Group the grid and select a row in a group - Ungroup and use the keyboard to navigate between the rows => it navigates only the rows that were in the group where we have selected a row WORKAROUND: private void radGridView1_GroupByChanged(object sender, Telerik.WinControls.UI.GridViewCollectionChangedEventArgs e) { GridViewRowInfo row = this.radGridView1.CurrentRow; this.radGridView1.CurrentRow = null; this.radGridView1.CurrentRow = row; }