Unplanned
Last Updated: 09 Oct 2020 13:40 by ADMIN
Created by: Venugopal
Comments: 0
Category: GridView
Type: Feature Request
1

When you have a checkbox column in the grid and group by a certain column, you should have the possibility to check-all rows inside a group without the necessity of expanding the group and checking each separate row.

The group row should have a checkbox as well. When you toggle it, all data rows or nested groups should also be toggled. The parent group should also be adjusted correctly.

Workaround: The following knowledge base article demonstrates a sample approach how to extend the default group row and add a checkbox. However, it would be necessary to modify and extend it in a way to cover the cases with nested groups:

https://www.telerik.com/support/kb/winforms/details/check-all-functionality-in-group-rows 

Duplicated
Last Updated: 16 Aug 2021 11:00 by ADMIN
Rows auto-sizing is available for ColumnGroupsViewDefinition. Hence, it would be nice to have this functionality for the HtmlViewDefinition as well.
Completed
Last Updated: 23 Dec 2020 14:24 by ADMIN
Release R1 2021
Currently, RadSimpleListFilterPopup supports filtering by year, month, day, hours, and minutes. The seconds and milliseconds are not respected. 
Completed
Last Updated: 20 May 2022 13:59 by ADMIN
Release R2 2022 SP1
Implement functionality to rotate the content of a cell.
Unplanned
Last Updated: 25 Aug 2025 11:20 by ADMIN

Steps to reproduce:

1. Bind the grid to BindingList

2. Call BestFitColumns method in form's constructor

3. Use Fluent/Crystal theme

4. Rebind the grid by setting DataSource=null

5. Exception is thrown

Stack trace:

en Telerik.WinControls.UI.BestFitHelper.SetColumnWidth(GridViewColumn column, Single desiredWidth)
   en Telerik.WinControls.UI.BestFitHelper.BestFitColumnCore(GridViewColumn column, BestFitColumnMode mode)
   en Telerik.WinControls.UI.BestFitHelper.ProcessRequests()
   en Telerik.WinControls.UI.GridTableElement.UpdateAll()
   en Telerik.WinControls.UI.GridTableElement.UpdateViewCore(Object sender, DataViewChangedEventArgs args)
   en Telerik.WinControls.UI.GridTableElement.UpdateView(Object sender, DataViewChangedEventArgs args)
   en Telerik.WinControls.UI.GridTableElement.ProcessTemplateEvent(GridViewEvent eventData)
   en Telerik.WinControls.UI.GridTableElement.Telerik.WinControls.UI.IGridViewEventListener.ProcessEvent(GridViewEvent eventData)
   en Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessCollection(GridViewEvent gridEvent, PriorityWeakReferenceList list, GridEventProcessMode processMode)
   en Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessEvent(GridViewEvent gridEvent)
   en Telerik.WinControls.UI.GridViewSynchronizationService.NotifyListeners(GridViewEvent gridEvent)
   en Telerik.WinControls.UI.GridViewSynchronizationService.FlushEvents()
   en Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewEvent gridEvent)
   en Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewTemplate template, GridViewEvent eventData, Boolean postUI)
   en Telerik.WinControls.UI.GridViewTemplate.DispatchEvent(GridViewEvent gridEvent, Boolean postUI)
   en Telerik.WinControls.UI.GridViewTemplate.DispatchDataViewChangedEvent(Object sender, DataViewChangedEventArgs args)
   en Telerik.WinControls.UI.GridViewTemplate.OnViewChanged(Object sender, DataViewChangedEventArgs e)
   en Telerik.WinControls.UI.MasterGridViewTemplate.OnViewChanged(Object sender, DataViewChangedEventArgs e)
   en Telerik.WinControls.UI.GridViewTemplate.CollectionView_CollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   en Telerik.WinControls.Data.RadCollectionView`1.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   en Telerik.WinControls.Data.RadDataView`1.RebuildData(Boolean notify)
   en Telerik.WinControls.Data.RadDataView`1.RefreshOverride()
   en Telerik.WinControls.Data.RadDataView`1.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)
   en Telerik.WinControls.Data.RadCollectionView`1.source_CollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   en Telerik.WinControls.Data.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   en Telerik.WinControls.Data.RadListSource`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   en Telerik.WinControls.Data.RadListSource`1.EndUpdate(Boolean notifyUpdates)
   en Telerik.WinControls.Data.RadListSource`1.Initialize()
   en Telerik.WinControls.Data.RadListSource`1.Bind(Object dataSource, String dataMember)
   en Telerik.WinControls.Data.RadListSource`1.set_DataSource(Object value)
   en Telerik.WinControls.UI.GridViewTemplate.set_DataSource(Object value)
   en Telerik.WinControls.UI.RadGridView.set_DataSource(Object value)

Unplanned
Last Updated: 06 Apr 2021 12:41 by ADMIN

Dear Support team,

Our Application issue: While running application in assistive mode and having a grid with large number of columns, Narrator/JAWS starts reading each Column Value as "DbNull"
while User is Tabbing through selected Row. (Please see attach Video for better understanding.)

I also created a sample Program:

1. Build Win Form app having a RadGridView. [Sample Attached in 1514161]
2. Start Win 10 Narrator App

3. Run App from Step #1 [Note: Please do not Resize Main Form yet]
4. Start Tabbing from Grid selected Row. Narrator does not read/speak Cell Values.

5. Now Close & Run Application again and Maximize Window. Repeat Step #4. Narrator reads/speak Cell Values as expected.

 

It seems reads all values fine until they are visible, and once you continue tabbing and horizontal scrolling happens and then stops reading.

 

Please advice.  A Fix for it would be a great help!


Looking forward to hear back!

Thanks and Regards,

Vivek
Sr. .Net Developer

Completed
Last Updated: 09 Jun 2021 14:22 by ADMIN
Release R2 2021 SP1
Completed
Last Updated: 02 Aug 2021 08:33 by ADMIN
Release R3 2021 (LIB 2021_2_802)
We're trying to apply a filter to data that may contain infinity values but it is not working.
Completed
Last Updated: 05 Aug 2021 14:10 by ADMIN
Release R3 2021
  1. Filter the column "code" to show only "(Blanks)"
  2. Hit the "Save Layout" button to save the layout into a string
  3. Hit the "Load Layout" button. The row is gone
 
Completed
Last Updated: 09 Nov 2021 10:13 by ADMIN
Release R3 2021 SP1

To reproduce, rebind the grid to a data table on button click and show grid's search row.

public RadForm1()
{
    InitializeComponent();
    this.radGridView1.AllowSearchRow = true;
}

private void RadButton1_Click()
{
    DataTable dt = this.GetData();
    this.radGridView1.DataSource = dt;
}
private DataTable GetData()
{
    DataTable data = new DataTable();
    for (int i = 0; i < 5; i++)
    {
        data.Columns.Add("Column " + i, typeof(int));
        data.Columns.Add("Column " + i + 1, typeof(string));
        data.Columns.Add("Column " + i + 2, typeof(string));
    }

    for (int k = 0; k < 5000; k++)
    {
        object[] parameters = new object[15];
        for (int i = 0; i < 15; i += 3)
        {
            parameters[i] = k;
            parameters[i + 1] = "Text " + i;
            parameters[i + 2] = "Text " + i + 1;
        }

        data.Rows.Add(parameters);
    }

    return data;
}

Completed
Last Updated: 06 Jun 2022 09:31 by ADMIN
Release R2 2022 (LIB 2022.2.606)

When we have column groups with equal names, the Spread Export is not exporting the groups correctly. This will lead to incorrectly merged cells.

A possible workaround is to assure that all column groups have different strings for their Text property.

Completed
Last Updated: 13 Apr 2022 11:08 by ADMIN
Release R2 2022

ComboBox column DataSource property is not visible in the Designer MS Property Builder when the previously selected node was RadGridView. 

Completed
Last Updated: 11 Oct 2022 08:07 by ADMIN
Release R3 2022
Class GridViewRowCollection implements IList<T>.

Class GridViewCellInfoCollection does not implement any generic interfaces.
Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022

Run the attached sample project on a monitor with 100% DPI scaling. Then, try moving the form to the second monitor with 150% DPI scaling. You will notice that the following error occurs:

Workaround: instead of using a RadTextBoxControlElement in the custom cell, feel free to use a RadTextBoxElement. However, please have in mind that RadTextBoxElement hosts the MS TextBox and using controls in grid cells may slow down the scrolling and will cause visual glitches as they do not support clipping.

Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022

ArgumentOutOfRangeException is thrown when the control is auto-sized (AutoSize = true) and we try to select all (MultiSelect = true with CellSelect) rows by clicking and moving the mouse. 

As a workaround, we could set the MaximumSize property of the RadGridView.

this.radGridView1.MaximumSize = new Size(1000,1000);

Completed
Last Updated: 21 Sep 2022 12:57 by ADMIN
Release R3 2022 SP1
Please run the attached sample project and click one of the column headers. You will notice that the column is not sorted.
Unplanned
Last Updated: 11 Oct 2022 11:31 by ADMIN

GridViewCellInfo offers Style property which allows you to customize the style for the cells defined at the data cell's level: https://docs.telerik.com/devtools/winforms/controls/gridview/cells/formating-examples/style-property

This functionality should work for the header cells as well like this:

            GridViewCellInfo cell = this.radGridView1.MasterView.TableHeaderRow.Cells[0];
            cell.Style.CustomizeFill = true;
            cell.Style.GradientStyle = GradientStyles.Solid;
            cell.Style.BackColor = System.Drawing.Color.FromArgb(162, 215, 255);

 

Completed
Last Updated: 27 Mar 2023 06:39 by ADMIN
Release R1 2023 SP1

Steps to reproduce:

1. Bind the grid and enable the search row

2. Enter some search text

3. Delete records from the applied DataSource collection. It may be necessary to perform the delete operation several times before the error occurs.

The error can be reproduced with the following code snippet: 

    Dim dt As New DataTable
    Sub New()

        InitializeComponent()

        dt.Columns.Add("Id", GetType(Integer))
        dt.Columns.Add("Name", GetType(String))
        For index = 1 To 10000
            dt.Rows.Add(index, Guid.NewGuid.ToString())

        Next
        Me.RadGridView1.DataSource = dt
        Me.RadGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill

        Me.RadGridView1.AllowSearchRow = True

    End Sub

    Private Sub RadButton1_Click(sender As Object, e As EventArgs) Handles RadButton1.Click
        For index = 1 To 50
            dt.Rows.RemoveAt(0)
        Next
    End Sub

There is a sample project attached as well and its result is illustrated in the gif file.

Stack trace:

   at Telerik.WinControls.UI.MasterGridViewTemplate.set_CurrentRow(GridViewRowInfo value)
   at Telerik.WinControls.UI.RadGridView.set_CurrentRow(GridViewRowInfo value)
   at Telerik.WinControls.UI.GridViewSearchRowInfo.SetCurrent(GridSearchResultCellInfo cell)
   at Telerik.WinControls.UI.GridViewSearchRowInfo.SetCurrent(GridSearchResultCellInfo cell, Boolean checkInvokeRequired)
   at Telerik.WinControls.UI.GridViewSearchRowInfo.SelectNextSearchResult()
   at Telerik.WinControls.UI.GridViewSearchRowInfo.Search(String criteria)
   at Telerik.WinControls.UI.GridViewSearchRowInfo.Telerik.WinControls.UI.IGridViewEventListener.PostProcessEvent(GridViewEvent eventData)
   at Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessCollection(GridViewEvent gridEvent, PriorityWeakReferenceList list, GridEventProcessMode processMode)
   at Telerik.WinControls.UI.GridViewSynchronizationService.NotifyListeners(GridViewEvent gridEvent)
   at Telerik.WinControls.UI.GridViewSynchronizationService.FlushEvents()
   at Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewEvent gridEvent)
   at Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewTemplate template, GridViewEvent eventData, Boolean postUI)
   at Telerik.WinControls.UI.GridViewRowCollection.DispatchDataViewChangedEvent(DataViewChangedEventArgs args, GridEventType type)
   at Telerik.WinControls.UI.GridViewRowCollection.ListSource_CollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.Data.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.Data.RadListSource`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.Data.RadListSource`1.RemoveItem(Int32 index)
   at Telerik.WinControls.Data.RadListSource`1.currencyManager_ListChanged(Object sender, ListChangedEventArgs e)
   at System.Windows.Forms.CurrencyManager.OnListChanged(ListChangedEventArgs e)
   at System.Windows.Forms.CurrencyManager.List_ListChanged(Object sender, ListChangedEventArgs e)
   at System.Windows.Forms.BindingSource.OnListChanged(ListChangedEventArgs e)
   at System.Windows.Forms.BindingSource.InnerList_ListChanged(Object sender, ListChangedEventArgs e)
   at System.ComponentModel.BindingList`1.OnListChanged(ListChangedEventArgs e)
   at System.ComponentModel.BindingList`1.FireListChanged(ListChangedType type, Int32 index)
   at System.ComponentModel.BindingList`1.RemoveItem(Int32 index)
   at System.Collections.ObjectModel.Collection`1.Remove(T item)
   at System.Collections.ObjectModel.Collection`1.System.Collections.IList.Remove(Object value)
   at System.Windows.Forms.BindingSource.Remove(Object value)

 

Unplanned
Last Updated: 14 Nov 2022 20:41 by ADMIN

In this particular scenario, the RadDropDownListEditor element inside the RadComboBoxColumn cell contains an empty string item. So when we try to clear the value of the cell and leave it empty, the internal logic will return the last selected valid value. The following code demonstrate a simple example:

DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("codice", typeof(string));
dt.Columns.Add("nome", typeof(string));

dt.Rows.Add(0, "", "");
dt.Rows.Add(1, "I622", "Seravezza");
dt.Rows.Add(2, "G628", "Pietrasanta");
dt.Rows.Add(3, "L833", "Viareggio");

The first row in the DataTable which the RadGridView contains an empty value. If for example, the second row is selected and we use Backspace/Delete to clear the text and move to another cell. The selected item won't be changed. The cell value won't be cleared. To workaround this we could avoid using empty strings. We could use space or some other symbol to allow the user to clear the value from the drop-down popup.

dt.Rows.Add(0, "", "-");
OR
dt.Rows.Add(0, "", " ");

Completed
Last Updated: 27 Mar 2023 06:39 by ADMIN
Release R1 2023 SP1

An exception occurs when trying to export the RadGridView using the ExportToPDF class with the following message.

System.SystemException: 'System.MethodAccessException: Attempt by security transparent method 'Telerik.Pdf.Gdi.GdiFontEnumerator.get_FamilyNames()' to call native code through method 'Telerik.WinControls.NativeMethods.EnumFontFamiliesEx(IntPtr, LOGFONT, FontEnumDelegate, Int32, Int32)' failed.  Methods must be security critical or security safe-critical to call native code.
   at Telerik.Pdf.Gdi.GdiFontEnumerator.get_FamilyNames()
   at Telerik.Apoc.Pdf.FontSetup.AddSystemFonts(FontType fontType)
   at Telerik.Apoc.Render.Pdf.PdfRenderer.SetupFontInfo(FontInfo fontInfo)
   at Telerik.Apoc.Fo.FOTreeBuilder.Parse(XmlReader reader)'

This exception is observed only when the referenced DLLs target the .Net Framework 4.8 version.