Changing the DataSource or scrolling are slow. Create a grid with more than 20 columns and add 5K rows for example. Maximize the form and try to scroll with mouse wheel. You will notice that the scrolling performance is worse compared to the normal state of the form with less visible visual elements. Workaround: this.radGridView1.EnableFastScrolling = true; and use the scrollbar's thumb Second workaround: use paging: https://docs.telerik.com/devtools/winforms/gridview/paging/overview Thus, you will display as many rows as possible to display on the screen per page. Instead of scrolling, you will navigate through pages.
The HeaderText of the RadGridView columns is not properly serialized in the resource file for the corresponding language.
Wrapping text in ColumnsGroupViewDefinition does not affect the size of the cells.
To reproduce: 1.Add a RadGridView with one column. 2.Select the form and in the Properties window, set the form's Localizable property to true. 3.Specify the column's HeaderText for the default language. 4.Set the form's Language property to French (France). 5.Specify the column's HeaderText for French (France). 6.Set the CurrentUICulture before the InitializeComponent method to "fr-FR". If you run the application, the column is localized as expected. 7.If you get back to the designer and change the form's Language property back to Default you will notice that the column's HeaderText disappears. Workaround: set the HeaderText programmatically according to the current language.
1. Create a new project with RadGridView 2. Setup a hierarchy with a large number of rows 3. Apply grouping and expand all child views 4. Run the project and try to scroll
RadGridView should support indexed full-text search out of the box.
1. Drag a RadGridView to a form and dock it to fill the form. 2. Create and set a ColumnGroupsViewDefinition to the grid 3. Add data and run the project. 4. Resize the form and you will see that grid view layout would not look properly. Also if your resize a column group only the first column in the group is resized while all others retain their widths. Work around: void radGridView1_SizeChanged(object sender, EventArgs e) { this.InvalidateGridLayout(); } private void InvalidateGridLayout() { this.bllGridView1.TableElement.ViewElement.RowLayout.InvalidateLayout(); this.bllGridView1.TableElement.InvalidateMeasure(true); this.bllGridView1.TableElement.UpdateLayout(); }
When UseCompatibleTextRendering property is set to false, the data cells overlaps the row header cells when horizontal scrolling is performed.
Sorting of RadGridView slows down its performance when the control is used in self-reference hierarchy mode.
Saving a form with RadGridView produces the following error at design time: Code generation for property "PrintCellPaint" failed. We isolated the following steps which reproduce the issue: 1. Drag and drop RadPageView on the form. Add 2 pages. 2. Add a RadGridView to one of the pages. 3. Saved and opened the form. 4. Select the other page and save the form. case #1: If the grid is empty - Code generation for property 'PrintCellPaint' failed. Error was: 'Object does not match type.' case #2: If the grid is data bound - Code generation for property 'PropertyChanging' failed. Error was: 'Object does not match type.' The same errors if you use RadDock with tabbed documents.
The Property Builder of RadGridView makes unnecessary Designer modifications, causing checkouts in source controlled files. For example, if you have a gridViewCheckBoxColumn1 stored in the designer file, you open the Property Builder and close it (no matter if you make any changes or not), the gridViewCheckBoxColumn1 is removed in favour of gridViewCheckBoxColumn2 that is automatically created.
On the form load, the grid is loaded with three parts. Upon refresh, the buttons call a method which generates the same data table but with some additional parts - to simulate a data refresh. Button 1 - Refresh Data - This button calls a method that operates the same as detailed initially in the ticket; it utilizes the BeginUpdate/EndUpdate methods around the updating of the grid. This replicates the scenario I initially described where message boxes are fired stating "Column 'xxx' does not belong to table 'fileSystem'.". Button 2 - Refresh Data 2 - This button calls a method that is modified as suggested - the BeginUpdate/EndUpdate methods have been removed and the DataSource is set directly. Button 3 - Clear Data - This button is meant to simply clear the data from the grid. It only attempts to set the DataSource property to Nothing.
Stack Overflow Exception in the CellValueNeeded Event after sorting when RowIndex, ColumnIndex arguments is used
steps to reproduce: 1- Apply filter in a date column by choosing Between. 2- Leave default settings (change dates) and confirm 3- Save layout 4- Close the form 5- Open the form and load the layout forum: http://www.telerik.com/community/forums/winforms/gridview/save-load-layout-issue.aspx#1475412
Description: Just use the button x times to show an additional form with a RadGridView Control on it. RadGridView is not releasing the complete allocated memory. JustTrace shows an increasing number of Telerik.WinControls.RadPropertyValue instances. Resolution: Not a memory leak. When a form is shown with the ShowDialog method, it should be explicitly disposed. If the form was shown using the Show method, the Dispose method does not need to be called explicitly. It will be called automatically when the form is closed. Source: MSDN http://msdn.microsoft.com/en-us/library/aw58wzka%28v=vs.110%29.aspx
If you refresh an object set property of entity context, the RadGridView is not updated. The sample code below does not work: this.radGridView1.DataSource = entities.Countries; int maxId = (from c in entities.Countries orderby c.Id descending select c.Id).First(); Country country = new Country(); country.Id = maxId + 1; country.Name = Path.GetRandomFileName(); entities.Countries.AddObject(country); entities.SaveChanges(System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave); entities.Refresh(System.Data.Objects.RefreshMode.StoreWins, entities.Countries);
To reproduce: 1.Add a grid and populate it with data. 2.Apply a theme to the entire application, e.g. TelerikMetro 3.Activate the grid editor. 4.Change the theme to VisualStudio2012Dark or HigthContrastBlack. 5.Activate the grid editor again. You will notice that editor's back color remains white and you are not able to read the text. Note: if you apply initially VisualStudio2012Dark theme, editor's back color is correct. Please refer to the attached gif file, illustrating this incorrect style. Workaround: private void radGridView1_CellEditorInitialized(object sender, Telerik.WinControls.UI.GridViewCellEventArgs e) { BaseGridEditor gridEditor = e.ActiveEditor as BaseGridEditor; if (gridEditor != null) { RadTextBoxElement el = gridEditor.OwnerElement.FindDescendant<RadTextBoxElement>(); if (el != null) { if (ThemeResolutionService.ApplicationThemeName == "VisualStudio2012Dark") { el.BackColor = Color.Black; } } } }
To reproduce: Add radGridView to a form open the property builder add GridViewCommandColumn go to advanced settings click the ellipse button of the Header Image property
To reproduce: - Add a grid to a PageView and add the pageView to a dock window at run time. - The grid should not be visible. - Set your DPI setting to 150% Workaround: class MyViewDefinition : TableViewDefinition { public override IRowView CreateViewUIElement(GridViewInfo viewInfo) { return new MyTableElement(); } } class MyTableElement : GridTableElement { public override void DpiScaleChanged(SizeF scaleFactor) { if (this.ViewTemplate != null) { base.DpiScaleChanged(scaleFactor); } } protected override Type ThemeEffectiveType { get { return typeof(GridTableElement); } } } //use the above definition like this: radGridView1.ViewDefinition = new MyViewDefinition();
When selecting the child templates from the tree view in the left pane, the preview should be updated to show the child template.