To reproduce: please refer to the attached gif file. Apply a conditional formatting rule for the current time's minute. Then, after a minute later, try to edit the already applied rule and change the minute value, you will notice that the color is cleared, but the new one is not applied. Workaround: use the CellFormatting event https://docs.telerik.com/devtools/winforms/gridview/cells/formatting-cells
To reproduce: please refer to the attached screenshot public RadForm1() { InitializeComponent(); ThemeResolutionService.ApplicationThemeName = "Fluent"; this.BackColor = Color.White; this.radGridView1.EnableGrouping = false; } Workaround: this.radGridView1.TableElement.Margin = new Padding(0, 1, 0, 0);
Use attached to reproduce: - Just search for something and you will notice that the waiting bar does not disappear. Workaround: public RadForm1() { InitializeComponent(); radGridView1.MasterView.TableSearchRow.IsSearchAsync = false; radGridView1.MasterView.TableSearchRow.SearchProgressChanged += TableSearchRow_SearchProgressChanged; } private void TableSearchRow_SearchProgressChanged(object sender, SearchProgressChangedEventArgs e) { var searchCell = radGridView1.TableElement.FindDescendant<GridSearchCellElement>(); if (searchCell != null) { var waitingBar = searchCell.Children[1] as RadWaitingBarElement; waitingBar.StopWaiting(); waitingBar.Visibility = Telerik.WinControls.ElementVisibility.Collapsed; } }
To reproduce: - Set IsSearchAsync to false. - Search for something and press down arrow to navigate to the last found item. - Press down again the selection is not moved to the first item.
Use attached to reproduce. Workaround: private void RadGridView1_UserAddingRow(object sender, GridViewRowCancelEventArgs e) { e.Cancel = true; }
To reproduce: - Add ColumnGroupsViewDefinition and set ShowHeader to false. - Set AutoSizeRows to true. Workaround: Manually set the row height. ViewDefinition.ColumnGroups(0).Rows(0).MinHeight = 50
To reproduce: run the attached sample project and activate the editor for the cell. You will notice that the row's height is now adjusted and single line text is displayed. It seems that the issue occurs because of the set Font property of the grid. Workaround: private void RadGridView1_CellEditorInitialized(object sender, Telerik.WinControls.UI.GridViewCellEventArgs e) { e.Row.MinHeight = e.Row.Height + 3; RadTextBoxEditor tbEditor = e.ActiveEditor as RadTextBoxEditor; if (tbEditor != null) { tbEditor.Multiline = true; } } private void radGridView1_CellEndEdit(object sender, GridViewCellEventArgs e) { e.Row.MinHeight = 0; }
To reproduce: add a RadGridView with several columns. Set the Enabled property to false. Try to open the Property Builder and you will notice that the Columns are disabled in it. Workaround: set the Enabled property to false at run time. Thus, it would be possible to manipulate the columns via the Property Builder at design time.
Use attached to reproduce. - Check then try to uncheck the rows. Workaround: private void RadGridView1_CreateCell(object sender, GridViewCreateCellEventArgs e) { if (e.CellType == typeof(GridCheckBoxHeaderCellElement)) { e.CellElement = new MyHeaderCheckboxCellElement(e.Column, e.Row); } } class MyHeaderCheckboxCellElement : GridCheckBoxHeaderCellElement { public MyHeaderCheckboxCellElement(GridViewColumn col, GridRowElement row) : base (col, row) { } protected override void checkbox_ToggleStateChanged(object sender, StateChangedEventArgs args) { base.checkbox_ToggleStateChanged(sender, args); var prop = this.ViewInfo.GetType().GetProperty("Version", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); int value = (int)prop.GetValue(this.ViewInfo); prop.SetValue(this.ViewInfo, --value); } }
After populating the RadGridView, unbound in this example, I use RadGridView1.ClearSelection. This works when using some themes such as Crystal and Office2013, but not others, like Fluent. See attached..... believe me that the code is EXACTLY the same for each, just the application theme is difference. This should be an easy one to replicate.
Use attached to reproduce. - Open the data filter dialog from the excel-like filtering on the date column. - The date time format in the editor is not respected. - Consider the default cell editor as well. Workaround: private void RadGridView1_CreateCompositeFilterDialog(object sender, GridViewCreateCompositeFilterDialogEventArgs e) { var dialog = e.Dialog as CompositeDataFilterForm; dialog.DataFilter.EditorInitialized -= DataFilter_EditorInitialized; dialog.DataFilter.EditorInitialized += DataFilter_EditorInitialized; dialog.DataFilter.NodeFormatting -= DataFilter_NodeFormatting; dialog.DataFilter.NodeFormatting += DataFilter_NodeFormatting; } private void DataFilter_NodeFormatting(object sender, TreeNodeFormattingEventArgs e) { var criteriaNode = e.NodeElement as DataFilterCriteriaElement; if (criteriaNode != null) { var node = criteriaNode.Data as DataFilterCriteriaNode; if (node.DescriptorValue != null && node.PropertyName == "Date") { criteriaNode.ValueElement.Text = ((DateTime?)node.DescriptorValue).Value.ToString("MM/dd/yyyy"); } } } private void DataFilter_EditorInitialized(object sender, TreeNodeEditorInitializedEventArgs e) { var editor = e.Editor as TreeViewDateTimeEditor; if (editor != null) { var element = editor.EditorElement as BaseDateTimeEditorElement; element.Format = DateTimePickerFormat.Custom; element.CustomFormat = "dd/MM/yyyy"; } }
To reproduce: setup self-reference hierarchy. Add a GridViewHyperlinkColumn and show the expander item in this column. Please refer to the attached screenshot. The hyperlink text overlaps with the expander. Workaround: set the MasterTemplate.SelfReferenceExpanderColumn to a different column.
Use attached to reproduce. - Edit random cell and press Enter. - Check the CellValueChanged event handler, the changes variable is null. This will work if you comment the OnShown method. Workaround: IEditableObject editbaleObject = radGridView1.CurrentRow.DataBoundItem as IEditableObject; if (editbaleObject != null) { editbaleObject.EndEdit(); }
How to reproduce: bind the grid using the code snippet below and enter name in the SearchRow public partial class RadForm1 : Telerik.WinControls.UI.RadForm { public RadForm1() { InitializeComponent(); this.radGridView1.DataSource = this.GetData(); this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill; this.radGridView1.AllowSearchRow = true; this.radGridView1.MasterView.TableSearchRow.InitialSearchResultsTreshold = 0; this.radGridView1.MasterView.TableSearchRow.SearchResultsGroupSize = int.MaxValue;; } private DataTable GetData() { DataTable dt = new DataTable(); dt.Columns.Add("Id", typeof(int)); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("Date", typeof(DateTime)); dt.Columns.Add("Bool", typeof(bool)); dt.Columns.Add("Description", typeof(string)); for (int i = 0; i < 2000; i++) { for (int j = 0; j < 5; j++) { dt.Rows.Add(i, "Name " + j, DateTime.Now.AddDays(i), i % 2 == 0 , "Description " + i); } } return dt; } } Workaround: in the search row, set the InitialSearchResultsTreshold property to 0 and the SearchResultsGroupSize property to int.MaxValue public RadForm1() { InitializeComponent(); this.radGridView1.DataSource = this.GetData(); this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill; this.radGridView1.AllowSearchRow = true; this.radGridView1.MasterView.TableSearchRow.SearchProgressChanged += TableSearchRow_SearchProgressChanged; this.radGridView1.MasterView.TableSearchRow.InitialSearchResultsTreshold = 0; this.radGridView1.MasterView.TableSearchRow.SearchResultsGroupSize = int.MaxValue; }
To reproduce: GridViewCheckBoxColumn chkCol = new GridViewCheckBoxColumn(); chkCol.HeaderText = "I have wrap text set yet I cannot see full column header text."; chkCol.Width = 90; chkCol.WrapText = true; chkCol.EnableHeaderCheckBox = true; chkCol.EditMode = EditMode.OnValueChange; radGridView1.Columns.Add(chkCol); Workaround: private void RadGridView1_ViewCellFormatting(object sender, CellFormattingEventArgs e) { var cell = e.CellElement as GridCheckBoxHeaderCellElement; if (cell != null) { cell.CheckBox.TextWrap = true; } }
Use attached to reproduce. Workaround: Set the TableHeaderHeight again after loading the layout.
Use attached to reproduce! Workaround: remove the Begin\End update block.
To reproduce: run the sample approach an follow the steps: 1. Filter the "Mask" column by entering " " in the filter cell. Press Enter. The grid is filtered as expected. 2. Activate the editor again and press Backspace+Enter. You will notice that it is not possible to clear the applied filter. Workaround: use GridViewTextBoxColumn
To reproduce: private void radButton1_Click(object sender, EventArgs e) { RadPrintDocument printDocument = new RadPrintDocument(); printDocument.DefaultPageSettings.Landscape = true; printDocument.DocumentName = "Example Case"; GridPrintStyle style = new GridPrintStyle(this.radGridView1) { FitWidthMode = PrintFitWidthMode.FitPageWidth, PrintGrouping = false, PrintSummaries = false, PrintHeaderOnEachPage = true, PrintHiddenColumns = false, }; TableViewDefinitionPrintRenderer renderer = new TableViewDefinitionPrintRenderer(this.radGridView1); renderer.PrintPages.Add( this.radGridView1.Columns[1], this.radGridView1.Columns[2], this.radGridView1.Columns[3], this.radGridView1.Columns[4], this.radGridView1.Columns[5], this.radGridView1.Columns[6]); style.PrintRenderer = renderer; this.radGridView1.PrintStyle = style; this.radGridView1.PrintCellFormatting += RadGridView1_PrintCellFormatting; radGridView1.Print(true, printDocument); } private void RadGridView1_PrintCellFormatting(object sender, Telerik.WinControls.UI.PrintCellFormattingEventArgs e) { } Workaround: use the PrintCellFormatting of the TableViewDefinitionPrintRenderer