Completed
Last Updated: 22 Apr 2013 04:19 by ADMIN
Steps to reproduce:
1. Add a grid to a form and add two expression columns
2. Enable Excel-like filtering
3. Add data
4. Run the project and filter on both expression columns

You will see an exception.
Completed
Last Updated: 11 Feb 2014 15:54 by ADMIN
IMPROVE. RadGridView - add ability to change and customize the font (bold, italic, etc) in the ConditionalFormattingForm
Completed
Last Updated: 16 Feb 2017 15:22 by ADMIN
Currently, it is only possible to define two filter conditions in the Custom Filter Dialog. It would be better if there is possibility for adding multiple filter conditions, similar to the possibility given by the Conditional Formatting Dialog
Completed
Last Updated: 08 Oct 2014 07:15 by ADMIN
To reproduce:
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        BindGrid()
    End Sub

    Private Sub BindGrid()
        Dim r As New Random()
        Dim table As New DataTable()
        table.Columns.Add("ID", GetType(Integer))
        table.Columns.Add("Name", GetType(String))
        table.Columns.Add("Bool", GetType(Boolean))

        For i As Integer = 0 To 39
            table.Rows.Add(i, "Row " & i, If(r.[Next](10) > 5, True, False))
        Next

        Me.RadGridView1.DataSource = table
    End Sub

    Dim saveName As Integer

    Private Sub RadGridView1_CellEndEdit(sender As Object, e As Telerik.WinControls.UI.GridViewCellEventArgs) Handles RadGridView1.CellEndEdit
        If e.Column.Name = "Name" Then
            saveName = RadGridView1.CurrentRow.Cells("ID").Value
            BindGrid()
        End If
    End Sub

    Private Sub RadGridView1_DataBindingComplete(sender As Object, e As Telerik.WinControls.UI.GridViewBindingCompleteEventArgs) Handles RadGridView1.DataBindingComplete
        For Each row As GridViewRowInfo In RadGridView1.Rows
            If row.Cells("ID").Value = saveName Then
                row.IsCurrent = True
                RadGridView1.TableElement.EnsureRowVisible(row)
                Exit For
            End If
        Next
    End Sub
WORKAROUND:
Rebind the grid in the CellValueChanged event instead of the CellEndEdit event:

    Private Sub RadGridView1_CellValueChanged(sender As Object, e As Telerik.WinControls.UI.GridViewCellEventArgs) Handles RadGridView1.CellValueChanged
        If e.Column.Name = "Name" Then
            saveName = RadGridView1.CurrentRow.Cells("ID").Value
            BindGrid()
        End If
    End Sub
Declined
Last Updated: 12 Sep 2015 08:55 by ADMIN
1. Create a new project with RadGridView.
2. Bind it and set grouping.
3. Add a summary row and set ShowParentGroupSummaries property to true.
4. Handle the ViewCellFormatting event and set all summary rows to be IsVisible = false when the processed cell is GridSummaryCellElement:

void radGridView1_ViewCellFormatting(object sender, CellFormattingEventArgs e)
{
    if (e.CellElement is GridSummaryCellElement)
    {
        e.Row.IsVisible = false;
    }
}

CORRECT WAY TO HANDLE THIS CASE:
Hide the summary rows in the groups you want after grouping/data binding.
To hide the first bottom summary row of the first group in a RadGridView use the following code:
this.radGridView1.Groups[0].GroupRow.BottomSummaryRows[0].IsVisible = false;
Completed
Last Updated: 27 May 2015 08:07 by ADMIN
RadGridView - current row changes even when canceling the RowValidating event.

Code to reproduce:
            public Form1()
            {
                InitializeComponent();

                radGridView1.AutoGenerateColumns = false;
                radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

                radGridView1.Columns.Add(new GridViewTextBoxColumn("A", "A"));
                radGridView1.Columns.Add(new GridViewTextBoxColumn("B", "B"));
                radGridView1.Columns.Add(new GridViewTextBoxColumn("C", "C"));

                radGridView1.Rows.Add("A", "AA", "AAA");
                radGridView1.Rows.Add("B", "BB", "BBB");
                radGridView1.Rows.Add("C", "CC", "CCC");
                radGridView1.Rows.Add("D", "DD", "DDD");
                radGridView1.Rows.Add("E", "EE", "EEE");
                radGridView1.Rows.Add("F", "FF", "FFF");
                radGridView1.Rows.Add("G", "GG", "GGG");

                radGridView1.RowValidating += new RowValidatingEventHandler(radGridView1_RowValidating);

            }

            void radGridView1_RowValidating(object sender, RowValidatingEventArgs e)
            {
                if (e.Row.Cells["B"].Value.ToString() == "BB")
                {
                    e.Cancel = true;
                }
            }


Steps to reproduce: 

1. Go to cell with value "BB"
2. NOT in edit mode press down arrow key 2-3 times
3. Change text to "AA"
4. Press Tab several times

Work around: 
Use custom navigator:

radGridView1.GridViewElement.Navigator = new MyGridNavigator();


            public class MyGridNavigator : BaseGridNavigator
            {
                private static readonly FieldInfo EnumeratorFieldInfo = typeof(BaseGridNavigator).GetField("enumerator", BindingFlags.NonPublic | BindingFlags.Instance);

                protected GridTraverser enumerator
                {
                    get { return EnumeratorFieldInfo.GetValue(this) as GridTraverser; }
                }

                protected override bool SelectCore(GridViewRowInfo row, GridViewColumn column)
                {
                    bool result = base.SelectCore(row, column);

                    if (!result)
                    {
                        enumerator.GoToRow(this.GridViewElement.CurrentRow);
                    }

                    return result;
                }
            }
Completed
Last Updated: 17 Nov 2015 16:26 by ADMIN
The RadGridView is bound to DataView

Workaround: add row using the DataTable API:
private void radButton1_Click(object sender, EventArgs e)
{
    DataRow row = m_dvMat.Table.NewRow();
     row["Active"] = true;
     row["Category"] = form.m_sString;
     m_dvMat.Table.Rows.Add(row);
}
Completed
Last Updated: 01 Apr 2013 03:38 by Svetlin
If you end edit of sorted decimal column by pressing ENTER key, the StackOverflowException is thrown.
Completed
Last Updated: 13 Oct 2014 09:53 by Jesse Dyck
RadGridView is throwing exception when loading layout that contains a GroupDescriptor with predefined Format with Aggregate function.

Steps to reproduce:

1. Add GroupDescriptor:
        Dim descriptor As New GroupDescriptor
        descriptor.GroupNames.Add("column3", System.ComponentModel.ListSortDirection.Ascending)
        descriptor.Aggregates.Add("Sum(column3)")
        descriptor.Format = "{0}: {1} Total montant : {2:c2}"
        Me.RadGridView1.GroupDescriptors.Add(descriptor)
2. Save Layout
3. Load Layout
Completed
Last Updated: 17 Jun 2015 11:38 by ADMIN
Presently it is not possible to persist customer created formatting objects in RadGridView.
Completed
Last Updated: 25 Mar 2013 08:09 by ADMIN
1. Create a new project with RadGridView and bind it.
2. Add a GridViewComboBoxColumn and bind it to a generic list that contains KeyValuePair instancess. Set the key to be an enum and set the ValueMember property of the column to point to this field.
3. Run the project and try to filter by this column.
Completed
Last Updated: 25 Mar 2013 06:22 by ADMIN
To reproduce:
- Set BeginEditMod to BeginEditProgrammatically
- Check/uncheck a check box cell and you will be able to edit the rest of the cells
Completed
Last Updated: 07 Mar 2014 07:24 by ADMIN
The row's MaxHeight property does not affect the row sizing when the AutoSizeRows property of RadGridView is enabled.

Workaround:
Use the following data row:

public class MyGridDataRowElement : GridDataRowElement
{
protected override Type ThemeEffectiveType
{
get
{
return typeof(GridDataRowElement);
}
}
protected override System.Drawing.SizeF MeasureCore(System.Drawing.SizeF availableSize)
{
float maxHeight = this.RowInfo.MaxHeight;
bool isAutoSize = this.GridViewElement.AutoSize && this.RowInfo.MaxHeight > 0 && availableSize.Height == float.PositiveInfinity;
SizeF size = base.MeasureCore(availableSize);

if (isAutoSize && size.Height > maxHeight)
{
availableSize.Height = maxHeight;
size = base.MeasureCore(availableSize);
}

return size;
}
}

here is how to replace it and set the max height:
void radGridView1_RowFormatting(object sender, RowFormattingEventArgs e)
{
e.RowElement.RowInfo.MaxHeight = 32;
}

void radGridView1_CreateRow(object sender, GridViewCreateRowEventArgs e)
{
if (e.RowType == typeof(GridDataRowElement))
{
e.RowType = typeof(MyGridDataRowElement);
}
}
Completed
Last Updated: 16 Sep 2015 10:11 by ADMIN
1. Create new project with RadGridView and setup hierarchy with multiple tabs.
2. Run the project.
3. Open a child view tab and start editing a filter cell.
4. While the editor is open, change the active tab.
5. Repeat this operation several times.

Workaround: the issue appears because RadGridView does not close its editor when changing the tab page and it thinks that it is still in edit mode when selecting the old page. You can work around the issue by using a custom cell element. Consider the code below:

public class CustomDetailsCellElement : GridDetailViewCellElement
{
    public CustomDetailsCellElement(GridViewColumn column, GridRowElement row)
        : base(column, row)
    {
    }
 
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(GridDetailViewCellElement);
        }
    }
 
    protected override RadPageViewElement CreatePageViewElement(IRadPageViewProvider pageViewProvider)
    {
        RadPageViewElement pageView =  base.CreatePageViewElement(pageViewProvider);
        pageView.ItemSelecting += new EventHandler<RadPageViewItemSelectingEventArgs>(PageViewElement_ItemSelecting);
        return pageView;
    }
 
    void PageViewElement_ItemSelecting(object sender, RadPageViewItemSelectingEventArgs e)
    {
        if (this.IsInValidState(true) && this.GridControl != null && this.GridControl.IsInEditMode)
        {
            this.GridControl.EndEdit();
        }
    }
 
}

You should handle also the CreateCell event in order to replace default child view cell in RadGridView:
 
void gvReviewMigration_CreateCell(object sender, GridViewCreateCellEventArgs e)
{
    if (e.CellType == typeof(GridDetailViewCellElement))
    {
        e.CellType = typeof(CustomDetailsCellElement);
    }
}
Completed
Last Updated: 20 Mar 2013 08:17 by ADMIN
Currently csv files are exported with UTF-8 encoding. There should be an option allowing users to change it.
Declined
Last Updated: 11 Dec 2015 13:46 by ADMIN
The PDF exporting of RadGridView does not work correctly for Arabic text. The exported result revers the Arabic text.
Completed
Last Updated: 28 May 2015 05:53 by Svetlin
Filtering is applied, if you clear the filter descriptors and enable/disable custom filtering. Steps to reproduce:

1. Click on the filter button on the Name header.  Check only one name, and only one record should be visible in the grid.
2.  Click the Clear button.  All records should now be visible.
3.  Click the Toggle Filter button once, to enable custom filtering.  
4.  Click the Toggle Filter button again to disable custom filtering.

Workaround:

private static readonly FieldInfo FilterContextFieldInfo = typeof(RadCollectionView<GridViewRowInfo>).GetField("filterContext", BindingFlags.NonPublic | BindingFlags.Instance);

this.radGridView1.FilterDescriptors.Clear();
            StringCollection filterContext = FilterContextFieldInfo.GetValue(this.radGridView1.MasterTemplate.DataView) as StringCollection;
            filterContext.Clear();
Completed
Last Updated: 14 Mar 2013 07:03 by ADMIN
Steps to reproduce:
1. Add a RadGridView to a form
2. Add several columns and set their MinWidth to 0
3. Set the grid AutoSizeColumnsMode property to Fill
4. Run the project and you will see that you cannot resize the columns.

WORKAROUND:
Set the MinWidth property to a value greater than 0
Completed
Last Updated: 17 Sep 2015 14:37 by ADMIN
The issue is reproduced when the columns for GridViewTemplate are added last in the end after the all hierarchy settings: relations, templates
Completed
Last Updated: 11 Mar 2013 09:01 by ADMIN
To reproduce: GridViewMaskBoxColumn maskBoxColumn = new GridViewMaskBoxColumn(); maskBoxColumn.Name = "MaskEditBoxColumn"; maskBoxColumn.HeaderText = "MaskEditBoxColumn"; maskBoxColumn.MaxLength = 5; maskBoxColumn.MaskType = MaskType.Numeric; maskBoxColumn.Mask = "C"; maskBoxColumn.FormatString = "{0:C}"; radGridView1.MasterTemplate.Columns.Add(maskBoxColumn); WORKAROUND: void radGridView1_CellEditorInitialized(object sender, GridViewCellEventArgs e) { GridSpinEditor editor = e.ActiveEditor as GridSpinEditor; if (editor != null) { GridSpinEditorElement element = (GridSpinEditorElement)editor.EditorElement; element.TextChanging += element_TextChanging; } } void element_TextChanging(object sender, TextChangingEventArgs e) { e.Cancel = e.NewValue.Length > 5; }
Comment : Removed the MaxLength property from GridViewMaskBoxColumn. You should use the Mask property and set an appropriate mask value. For example the #### mask allows entering only 4 digits.