Horizontal cell navigation causes sometime scrolling per page instead of paging to the next invisible column.
RadGridView - the Row property in the event arguments of the RowValidating event is null when the user deletes a row. Also the Column property in the event arguments of the CellValidating event is null when the user deletes a row.
When add dg.Relations.AddSelfReference(dg.MasterTemplate,"ID", "IDPARENT"); The event bnds_PositionChanged works only when go with level on another. А within the one level does not work. Operation of the removing does not work too. Also is not working properly displaying alternative rows. EnableAlternatingRowColor=true;
If you have a scenario which involves localization and you have columns with empty strings, these empty string values are serialized in the localization files.
To reproduce: GridViewSpreadExport spreadExporter = new GridViewSpreadExport(this.radGridView1); spreadExporter.RunExport(@"C:\exportedFile.xlsx"); Workaround: GridViewSpreadExport spreadExporter = new GridViewSpreadExport(this.radGridView1); spreadExporter.RunExport(@"C:\exportedFile.xlsx", new SpreadExportRenderer()); Alternatively you can set the Copy Local property of the TelerikExport assembly to true.
The new rows is added in ChildViewExpanded event
Use the following help article to set up the hierarchy >> http://www.telerik.com/help/winforms/gridview-hierarchical-grid-self-referencing-hierarchy.html Please refer to the attached gif files illustrating the behavior in Q1 SP and Q2.
Two sequential rows can have the same background in the case of enabled alternating row color functionality. This is an issue when self-reference hierarchy is used and the two rows are not at the same hierarchy level.
You cannot select cells from first and last column when the RadGridView is in right to left mode.
The following HTMLViewDefinition has a wrong layout when run: HtmlViewDefinition view = new HtmlViewDefinition(); view.RowTemplate.Rows.Add(new RowDefinition()); view.RowTemplate.Rows.Add(new RowDefinition()); view.RowTemplate.Rows.Add(new RowDefinition()); view.RowTemplate.Rows[0].Cells.Add(new CellDefinition("column0", 0, 1, 1)); view.RowTemplate.Rows[0].Cells.Add(new CellDefinition("column1", 0, 1, 3)); view.RowTemplate.Rows[0].Cells.Add(new CellDefinition("column2", 0, 1, 1)); view.RowTemplate.Rows[1].Cells.Add(new CellDefinition("column3", 0, 1, 2)); view.RowTemplate.Rows[1].Cells.Add(new CellDefinition("column4", 0, 1, 1)); view.RowTemplate.Rows[2].Cells.Add(new CellDefinition("column5", 0, 1, 1)); The layout puts column5 over column1. A possible workaround would be to refresh the rows in the grid's SizeChanged event handler: private void RadGridView1_SizeChanged(object sender, EventArgs e) { radGridView1.TableElement.ViewElement.UpdateRows(true); }
The AutoSizeColumnsMode.Fill cause glitches when HtmlViewDefinition is used.
When RadTextBox is bound to a column (GridViewTextBoxColumn) in RadGridVIew it shows the current cell value. But once new row is added the value in the text box does not clear. Instead the last value stays. In case you add another row the value is being cleared.
Workaround: create a custom GridCheckBoxHeaderCellElement and override the Attach method public class MyGridCheckBoxHeaderCellElement : GridCheckBoxHeaderCellElement { public MyGridCheckBoxHeaderCellElement(GridViewColumn column, GridRowElement row) : base(column, row) { } protected override Type ThemeEffectiveType { get { return typeof(GridHeaderCellElement); } } public override void Attach(GridViewColumn data, object context) { if (((GridViewCheckBoxColumn)data).EnableHeaderCheckBox) { base.Attach(data, context); } else { this.CheckBox.Visibility = Telerik.WinControls.ElementVisibility.Collapsed; } } } public Form1() { InitializeComponent(); this.radGridView1.CreateCell += radGridView1_CreateCell; } private void radGridView1_CreateCell(object sender, Telerik.WinControls.UI.GridViewCreateCellEventArgs e) { if (e.CellType == typeof(GridCheckBoxHeaderCellElement)) { e.CellElement = new MyGridCheckBoxHeaderCellElement(e.Column, e.Row) } }
Stack Overflow Exception in the CellValueNeeded Event after sorting when RowIndex, ColumnIndex arguments is used
Selecting datasource throws exception, then crashes VS
To reproduce: 1. Add a RadTreeView and a RadGridView 2. Use the following code snippet. 3. Select a node from the RadtreeView. 4. Activate the editor for the new row in RadGridView. 5. While the grid editor is active, select a new node in the tree. public Form1() { InitializeComponent(); this.radGridView1.MasterTemplate.AddNewBoundRowBeforeEdit = true; } public class ClassA { public int Id { get; set; } public string Name { get; set; } public string Grade { get; set; } public ClassA() { } public ClassA(int id, string name, string grade) { this.Id = id; this.Name = name; this.Grade = grade; } } public class ClassB { public int NewID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public ClassB() { } public ClassB(int id, string firstName, string lastName) { this.NewID = id; this.FirstName = firstName; this.LastName = lastName; } } private void radTreeView1_SelectedNodeChanged(object sender, Telerik.WinControls.UI.RadTreeViewEventArgs e) { if (radGridView1.DataSource is BindingList<ClassA>) { this.radGridView1.Columns.Clear(); this.radGridView1.DataSource = null; BindingList<ClassB> list = new BindingList<ClassB>() { new ClassB(1, "John", "Wick") }; this.radGridView1.DataSource = list; } else { this.radGridView1.DataSource = null; BindingList<ClassA> list = new BindingList<ClassA>() { new ClassA(1,"John", "A+") }; this.radGridView1.Columns.Clear(); this.radGridView1.DataSource = list; } } Workaround: this.radGridView1.MasterTemplate.AddNewBoundRowBeforeEdit = false;
ADD. RadGridView - one should be able to show the header row on each page exported in PDF
To reproduce: 1. Add a RadGridView with two GridViewMultiComboBoxColumns at design time. 2. Bind both of the columns at design time to two different data sources. 3. In the CellEditorInitialized event, set the RadMultiColumnComboBoxElement.AutoSizeDropDownToBestFit property to true. 4. Run the application and open the editor for one of the GridViewMultiComboBoxColumns . You will notice that the columns are automatically sized to fit the content. However, if you open the editor for the other GridViewMultiComboBoxColumn, you will see that columns are not auto sized correctly. Please refer to the attached gif file. Workaround: private void radGridView1_CellEditorInitialized(object sender, Telerik.WinControls.UI.GridViewCellEventArgs e) { RadMultiColumnComboBoxElement mccbEditor = e.ActiveEditor as RadMultiColumnComboBoxElement; if (mccbEditor != null) { mccbEditor.AutoSizeDropDownToBestFit = true; mccbEditor.PopupOpening -= mccbEditor_PopupOpening; mccbEditor.PopupOpening += mccbEditor_PopupOpening; } } private void mccbEditor_PopupOpening(object sender, CancelEventArgs e) { RadMultiColumnComboBoxElement mccbEditor = sender as RadMultiColumnComboBoxElement; if (mccbEditor != null) { mccbEditor.EditorControl.BestFitColumns(BestFitColumnMode.AllCells); int width = 0; foreach (GridViewColumn c in mccbEditor.EditorControl.Columns) { width += c.Width; } width += mccbEditor.EditorControl.TableElement.VScrollBar.Size.Width; mccbEditor.MultiColumnPopupForm.Size = new Size(width, mccbEditor.MultiColumnPopupForm.Size.Height); } }
To reproduce: - Add two GridViewMultiComboBoxColumns with different number of columns to a grid. - set AutoSizeDropDownToBestFit to true in the CellEditorInitialized event. - Start the project and open the drop down for the first column and then for the second. - You will notice that the second time the drop down size is not calculated properly. Workaround: void radGridView1_CellEditorInitialized(object sender, GridViewCellEventArgs e) { RadMultiColumnComboBoxElement el = e.ActiveEditor as RadMultiColumnComboBoxElement; if (el != null) { FieldInfo propertyInfo = el.GetType().GetField("savedColumnsWidth", BindingFlags.NonPublic | BindingFlags.Instance); propertyInfo.SetValue(el, -1); el.AutoSizeDropDownToBestFit = true; } }