1. The RowsChanging event is not fired when rows are deleting in multi-selection mode. 2. The last selected row is already deleted in the RowsChanging event in multi-cell selection mode.
The columns are not re sized proportionally when the RadGridView is re sized in auto-size column mode fill.
The AutoSizeColumnsMode.Fill cause glitches when HtmlViewDefinition is used.
You need to create two manually generated columns and set the AutoSizeColumnsMode to GridViewAutoSizeColumnsMode.Fill. If you set the MinWidth property of the first one and the MinWidth and MaxWidth properties of the second one, the columns do not fill the whole available space of RadGridView.
If you delete rows of the active view in tabbed child hierarchy, the new tab should be selected and the old tab should become invisible.
ADD. RadGridView - add support for sorting GridViewComboBoxColumn by Display or Value member in unbound mode.
Currently the Contains operation considers the property value, but operators like Equals doesn't.
ADD. RadGridView - add AutoSizeRows functionality in HtmlViewDefinition
Steps to reproduce: 1. Add two classes to the project: public class ParentClass { public int MyProperty { get; set; } public List<ChildClass> Children { get; set; } } public class ChildClass { public int MyProperty { get; set; } public SomeEnum Enumera { get; set; } } public enum SomeEnum { first, second, third } 2. Add two RadGridViews to a form. 3. Add two binding sources one with DataSource the ParentClass, the second with DataSource the first binding source and DataMember "Children" 4. Bind the grids to the two data sources. 5. Edit some column properties of the grid bound to the second data source. 6. Build the project and try to open the smart tag of the grid. Some times you will see a message box with text "Object does not match target type."
Steps to reproduce: 1. Add a grid to a form 2. Add a self-reference hierarchy data and relation 3. Group the data on a column Enter edit mode for a cell and directly click on the expand/collapse sign of a hierarchy row. You will see that RadGridView does not behave correctly all the time.
Steps to reproduce: 1. Addd a numeric (decimal) column to a grid 2. Enable filtering 3. Select 'Greater Than' filter 4. Enter '0' in the Spin Editor that appears You will see that no filtering occurs. Enter any other digit instead of 0 and filtering is performed.
Steps to reproduce: 1. Add a grid to a form and make it read only 2. Add a masked box column and set the mask 3. Add some data and run the project You will see that the mask is not applied to the values in the mask box column Comment: This is not an issue. The mask is applied after editing the text with RadMaskedEditBox, in read-only mode there is no masked editor created. You should use the conversion layer in RadGridView to solve the issue. Check the GridView >> Manipulated Data >> Convert Values example from our demo application.
Add a feature for default image similar to the DefaultText.
Currently none of the exporters can be canceled.
Currently csv files are exported with UTF-8 encoding. There should be an option allowing users to change it.
DateTimeColumn should open hitting the F4 key. WORKAROUND: this.radGridView1.EditorRequired += new EditorRequiredEventHandler(radGridView1_EditorRequired); void radGridView1_EditorRequired(object sender, EditorRequiredEventArgs e) {
FIX. RadGridView ComboBoxColumn when in data bound mode with auto complete set to SuggestAppend wrong results might be obtained. How to reporduce: Use RadGridView with ComboBoxColumn and set AutoCompleteMode to SuggestAppend. Also set DropDownStyle to DropDown. When start typing if nonexisting item gets typed the column will append the closest available item to the cell.
To reproduce: - Create a GridViewMaskBoxColumn with standard mask type and mask set to "aaaaaaaaaa". - Bind the grid to the following DataTable: private static DataTable GridDataTable() { DataRow dr = default(DataRow); DataTable dt = new DataTable(); dt.Columns.Add("Description"); dr = dt.NewRow(); dr[0] = "1234567890"; dt.Rows.Add(dr); dr = dt.NewRow(); dr[0] = "abc"; dt.Rows.Add(dr); return dt; } - Click the first cell in order to enter in edit mode. - Click the second cell and you will notice that the text is wrong. Workaround: - change the value in the CellEditor intialized event handler: void radGridView1_CellEditorInitialized(object sender, GridViewCellEventArgs e) { if (e.ActiveEditor is RadMaskedEditBoxEditor) { RadMaskedEditBoxEditor editor = e.ActiveEditor as RadMaskedEditBoxEditor; editor.MaskTextBox.Value = "___________"; editor.MaskTextBox.Value = (string)radGridView1.CurrentCell.Value; } }
To reproduce: - Create a RadGridView with 3 columns. - Set ShowRowHeaderColumn to false. - Set GridViewAutoSizeColumnsMode to Fill. - Select a cell and hit the TAB key multiple times. Notice the entire grid shift left and right.
To reproduce: Add a RadGridView wth a few columns ,add rows as a few rows should have increasingly long text. Right click on the header cell to show the context menu and click bestfit. You will notice that the size of the column is not correct Workaround: void grid_MouseMove(object sender, MouseEventArgs e) { this.mouseLocation = e.Location; } private Point mouseLocation; private GridViewColumn currentColumn; void grid_ContextMenuOpening(object sender, ContextMenuOpeningEventArgs e) { if (this.grid.CurrentRow is GridViewHierarchyRowInfo) { RadItem bestFitItem = e.ContextMenu.Items.FirstOrDefault(x => x.Text == "Best Fit"); if (bestFitItem != null) { e.ContextMenu.Items.Remove(bestFitItem); } RadMenuItem newBestFitItem = new RadMenuItem { Text = "Best Fit" }; this.currentColumn = (this.grid.ElementTree.GetElementAtPoint(this.mouseLocation) as GridCellElement).ColumnInfo; newBestFitItem.Click += newBestFitItem_Click; e.ContextMenu.Items.Add(newBestFitItem); } } void newBestFitItem_Click(object sender, EventArgs e) { int highestWidth = this.GetHeightestWidthFromColumn(this.currentColumn); this.currentColumn.Width = highestWidth; } private int GetHeightestWidthFromColumn(GridViewColumn gridViewColumn) { int max = int.MinValue; Font cellFont = this.grid.TableElement.VisualRows[0].VisualCells[0].Font; for (int i = 0; i < this.grid.Rows.Count; i++) { int textWidth = TextRenderer.MeasureText(this.grid.Rows[i].Cells[gridViewColumn.Index].Value + "", cellFont).Width; if (max < textWidth) { max = textWidth; } } return max; }