Group Descriptors are added before adding rows in unbound mode and not using defer refresh or Begin/EndUpdate test: ---------------------------------------------------- using System.ComponentModel; using System.Windows.Forms; using Telerik.WinControls.UI; namespace Lab.Grid { public partial class GridGroupInUnboundMode : MainForm { private RadGridView gridView = new RadGridView(); public GridGroupInUnboundMode() { InitializeComponent(); this.gridView.Dock = DockStyle.Fill; this.gridView.Parent = this; this.gridView.BringToFront(); gridView.GroupDescriptors.Add("Name", ListSortDirection.Ascending); GridViewTextBoxColumn col = new GridViewTextBoxColumn(); col.HeaderText = col.Name = "Id"; col.DataType = typeof(int); gridView.Columns.Add(col); col = new GridViewTextBoxColumn(); col.HeaderText = col.Name = "Name"; col.DataType = typeof(string); gridView.Columns.Add(col); col = new GridViewTextBoxColumn(); col.HeaderText = col.Name = "Sum"; col.DataType = typeof(double); gridView.Columns.Add(col); } protected override void OnButton1Click() { gridView.Rows.Add(1, "Ivan", 123.56); gridView.Rows.Add(2, "Ivan", 372.90); gridView.Rows.Add(3, "Peter", 500.00); } protected override void OnButton2Click() { gridView.Rows.Add(4, "George", 300.00); gridView.Rows.Add(5, "George", 600.00); gridView.Rows.Add(6, "George", 100.00); gridView.Rows.Add(7, "Enzo", 78.00); } protected override void OnButton3Click() { gridView.Rows.Add(8, "Enzo", 100.00); gridView.Rows.Add(9, "Enzo", 200.00); gridView.Rows.Add(10, "Enzo", 300.00); } } }
1. Create a new project and add RadGridView 2. Bind to a large DataSource (e.g. 150 k rows) 3. Set MultiSelect property to true 4. On a button click call the SelectAll method 5. Run the application and click the button
There is an exception when resetting the binding source on CellEndEdit after pressing Enter Comment: It is not correct to preserve the CurrentRow position when changing/reseting the binding source. Instead you can preserve its index and restore it when the data source is updated!
Pressing Ctrl+Shift+Home should select all rows from the current one to the first row. Pressing Ctrl+Shift+End should select all rows from the current one to the last row.
If you show a message box dialog in the SelectionChanged event of RadGridView, you need to click twice to minimize the form.
This event will enable canceling the selection operation in RadGridView
1. Create a new project containing RadGridView and bind it 2. Set the AddNewRowPosition property to Bottom 3. Add validation logic in RowValidating event 4. run the project and try to add a new row with wrong values
ADD. RadGridView - add new column - link column.
Currently it is not possible to change the DataSource property of RadGridView when handling CellEndEdit or PropertyChanged events.
Copy and paste of GridViewComboBoxColumn should perform the operation over the display member instead of the value member.
UserAddedRow should be fired after all tasks related to the process of adding a row are completed. This will allow our users to set the current row after a row is added.
This happens when using custom object relational hierarchy
1. Create a new project and add RadGridView 2. Setup a column groups view 3. Set the ShowHeader property to false for one of the column groups 4. Set also the PinPosition to Left for the same column group 5. Run the project
In hierarchical mode, when a filtering cell is edited and expanded row appear, the cell closes its editor.
IMPROVE. RadGridView - AllowFiltering property for a column, should hide its filter operator text
One should be able to remove the grouping by dropping a group item on a grid row.
Generating hierarchy with related objects is not working properly. There are no items in second level.
The combobox column should get its value according to its DisplayMember property
Drag and drop of columns to the Column Chooser and columns reordering do not work in ColumnGroupsViewDefinition.
Char type filtering should be allowed for all filtering operators supported by the string type (except: StartsWith, EndsWith, Contains and NotContains)