Declined
Last Updated: 09 Feb 2024 08:26 by ADMIN

Dear Telerik Support Team,

I am encountering an issue with the RadGridView control in my application, which is impacting the usability for users relying on screen readers. Below, I have outlined the details of my development environment, the problem, and attached a sample project demonstrating the issue.

Issue Description:
In the attached sample project, I have implemented a simple RadGridView without any custom styling and populated it with sample data. I have observed that the focus behavior is inconsistent, particularly with the first cell in the RadGridView. When attempting to focus the first cell, only the cell itself receives focus, unlike subsequent cells where both the cell and the entire row are focused. This inconsistency results in screen readers failing to read out the content of the first cell, while they correctly read the contents of all other cells.

Upon further investigation using the Snoop utility to explore the visual tree, I noticed that the GotFocused event for the initially focused cell identifies it as being of type RadGridView, whereas, for other cells, the type is GridViewCell. This discrepancy seems to be at the root of the issue.

Attachments:
I have included a simplified, runnable standalone application that reproduces this behavior. Please find the sample project attached to this ticket.

I believe this might be a bug affecting the accessibility of the application, and I would greatly appreciate your guidance on whether this is a known issue with a workaround or if there's a fix available.

Thank you for your assistance.

Best regards,

 

Christian

First Tab:

Second Tab:

Declined
Last Updated: 31 Mar 2022 11:13 by ADMIN
Created by: LindenauAtSOG
Comments: 7
Category: GridView
Type: Bug Report
0

 

When selecting a Cell using the Mouse, the BorderColor is different to when navigating via ArrowKeys.

Also it seems that the Property IsSynchronizedWithCurrentItem does not work correctly when using ArrowKeys.

The issue with the Color can be observed in the Demo

Declined
Last Updated: 13 May 2021 10:37 by ADMIN

Hello, 

I believe that I have found a bug with the delete keyboard functionality using the delete key. Below are the steps to reproduce:

  1. Click on any row of the grid view.
  2. Observe the row is selected.
  3. Click any cell in the selected row to enter into edit mode.
  4. Exit edit mode using escape.
  5. Observe the row is still selected.
  6. Now click the delete button.
  7. Observe the delete operation doesn't work.

 

Note that if the user selects a new row and then selects the previous row the delete works. 

Demo to illustrate is in SDK sample browser.

Grid View Examples - Custom Keyboard Command Provider

Please let me know if you need any additional information.

Thank you.

Declined
Last Updated: 09 Nov 2020 14:55 by ADMIN

I am using a RadGridView to display appointments. I am adding paging to the control with RadDataPager. I am setting the ItemSource property for the RadGridView to {Binding Path=PagedSource, ElementName=unscheduledWorkOrdersRadDataPager }. I am then overriding the ConvertDraggedData(object data) method and using the DataObjectHelper class in order to obtain data from the object data parameter and then setting the returned IEnumerable<IOccurence> accordingly.

The problem is that whenever I added paging to the RadGridView. The DataObjectHelper is not able to properly retrieve the dragged data from the object data parameter.

Declined
Last Updated: 11 Sep 2020 06:05 by ADMIN

Hi guys,

we have a messaging service that broadcasts a couple of messages every 1-5 seconds.

When our client module receives those messages, we want to append them at the bottom of a grid (RadGridView).

After appending them, we also want to scroll to the very bottom of that grid, so that the newest and therefore bottommost items come into view.

 

Documentation and forums suggest we go the AttachedBahaviour and ScrollIntoViewAsync way.

 

Our behaviour looks like this:


    public class ScrollToNewItemBehavior : Behavior<RadGridView>
    { 
        public static bool GetIsEnabled(DependencyObject obj) => (bool)obj.GetValue(IsEnabledProperty);
        public static void SetIsEnabled(DependencyObject obj, bool value) => obj.SetValue(IsEnabledProperty, value);
        public static readonly DependencyProperty IsEnabledProperty = DependencyProperty.RegisterAttached("IsEnabled", typeof(bool), typeof(ScrollToNewItemBehavior), new PropertyMetadata(false, OnIsEnabledChanged));
        private static void OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (d is RadGridView gridView)
                gridView.Items.CollectionChanged += (s, args) =>
                {
                    if (args.Action == NotifyCollectionChangedAction.Add)
                    {
                        gridView.ScrollIntoViewAsync(args.NewItems[0], gridView.Columns[0], null);

                        // exchanging args.NewItems[0] for gridView.Items[gridView.Items.Count-1] yields same result
                        //gridView.ScrollIntoViewAsync(gridView.Items[gridView.Items.Count-1], gridView.Columns[0], null);
                    }
                };
        } 
    }


 

Our Message class:


    public class Message : ModelBase<Message>
    {
        public string Text { get; set; }
    }


Our Messages collection in the ViewModel:


        private RadObservableCollection<Message> _messages;
        public RadObservableCollection<Message> Messages
        {
            get => _messages;
            set
            {
                _messages = value;
                NotifyPropertyChanged(m => m.Messages);
            }
        }


The collection is updated (in the ViewModel) like this:


            Task.Run(async () =>
            {
                for (int i = 0; ; i++)
                {
                    await Task.Delay(1000);
                    Messages.Add(new Message { Text = $"{i} - sftrvwj,erhvtwejhrfvtjlwehftrwejh" });
                }
            });


 

The grid is defined like this:


    <telerik:RadGridView
        x:Name="gridView"
        ItemsSource="{Binding Messages, Mode=OneWay}"
        IsSynchronizedWithCurrentItem="False"
        IsPropertyChangedAggregationEnabled="True"
        AutoGenerateColumns="False" 
        SelectionMode="Single"
        CanUserFreezeColumns="False"
        EnableColumnVirtualization="True"
        EnableRowVirtualization="True"
        CanUserDeleteRows="False"
        CanUserInsertRows="False"
        behaviours:ScrollToNewItemBehavior.IsEnabled="True"
        CanUserGroupColumns="False"
        IsReadOnly="True"
        IsManipulationEnabled="False"
        CanUserReorderColumns="False"
        CanUserSearch="False"
        ShowGroupPanel="False">
        <telerik:RadGridView.Columns>
            <telerik:GridViewDataColumn
                DataMemberBinding="{Binding Text}"
                Header="Text"
                ShowDistinctFilters="False"
                IsSortable="False"/>
        </telerik:RadGridView.Columns>
    </telerik:RadGridView>


Nothing too fancy.

 

What we observe:


 

When a message is added, the view and the scroll indicator randomly jump to the top or the bottom of the grid and stay there until the next message is added.

We tried AddRange, Suspend-/ResumeNotifications, ObservableCollection instead of RadObservableCollection.

We disabled many grid features.

We tried .NetCore

,

we tried .net Framework

To no avail.

This seems to be a bug.

 

Do you know any workarounds or a completely different approach to achieve the desired behaviour?

 

 

Side note:

When we set GroupRenderingMode to Flat,

        GroupRenderMode="Flat"

the view stays at the bottom. The scroll indicator stays at the bottom as well, but once in a while jumps a little bit up, as if by one row, and down to the bottom again without the view changing.

At one time disabling filtering on all columns seemd to work... but later didn't.

 

 

Thanks in advance

Thorsten

Declined
Last Updated: 10 Feb 2020 09:28 by ADMIN

The search box TextBox element used with the search-as-you-type feature is not focused when you press the Tab key. This happens because the search box is excluded from the tab order (IsTabStop=False).

Use the ChildrenOfType extension method to get the TextBox element and set its IsTabStop to True.

private void gridView_Loaded(object sender, RoutedEventArgs e)
{
	var searchBox = this.gridView.ChildrenOfType<TextBox>().FirstOrDefault(x => x.Name == "PART_SearchAsYouTypeTextBox");
	searchBox.IsTabStop = true;
}

Declined
Last Updated: 17 Jan 2020 15:22 by ADMIN

Hi Telerik-Team,

 

When creating a new item in the GridView by either mouse or insert button the row is not selected or highlighted.

I guess this is a bug, since a cell in the new row has focus but not the row.

 

Best regards,

Mats

Declined
Last Updated: 31 Oct 2019 14:09 by ADMIN
In some themes the arrow points up and in other themes the arrow points down. We should make sure that this behavior is consistent across themes. 
Declined
Last Updated: 26 Aug 2019 09:39 by Petar
When we make frozen column width bigger than the window will hide other columns. Scrolling is applied only to not frozen columns. So we can't scroll to see other columns.

A possible workaround is to set MaxWidth property of the column.
Declined
Last Updated: 21 Jan 2019 11:03 by ADMIN
for radgridview,if CanUserFreezeColumns="True" ,
when adjust the FreezeColumnsResizer to the right,and then resize the left colum'width,
if exceed the visual area,these exceed area's column will disappear!
for example,the data virtualization sample for the radgridview,if set the FreezeColumnsResizer
to the 'Unit_Price' column behind,then adjust the 'Product_ID' column width to exceed the visual area,
at last by scroll,you can't find the exceed visual area columns
Declined
Last Updated: 01 Oct 2018 12:25 by K
1. Select the first row.
2. Hit Ctrl-End to jump to the end of the list. 
3. Hold down the Shift key and select the last row. 
4. Scroll up and notice that everything between the first page and the last page is not selected.

* there is a sample project attached in the support thread
Declined
Last Updated: 21 Jun 2018 14:52 by ADMIN
The performance of the RadGridView scrolling diminishes significantly when the grid has thousands of rows and alternating row styles are used.  This causes scrolling to be virtually unusable.  I note this is a known limitation of the RadGridView from information from https://docs.telerik.com/devtools/wpf/controls/radgridview/troubleshooting/performance 

We have had to remove the alternating row styles from our current product while porting to the RadGridView.  I am requesting if this issue is going to be fixed in the future anytime soon.
Declined
Last Updated: 12 Jun 2018 12:06 by Pawel
Created by: Pawel
Comments: 2
Category: GridView
Type: Bug Report
1

			
Declined
Last Updated: 28 Mar 2018 11:53 by ADMIN
I am setting the status of the item to Declined as the reported behavior is due to the fact that the RowDetailsVisibilityMode is set to VisibleWhenSelected. The default behavior of RadGridView is to split the merged cell when a row with expanded row details is added. Thus, the reported issue you are is the expected one. If setting the RowDetailsVisibilityMode is removed the control will behave as expected. 
Declined
Last Updated: 28 Mar 2018 11:49 by ADMIN
The reason for declining the item is that a possible fix for this behavior would practically interfere with the virtualization mechanism of the control. Shortly said, when the columns have their width initially set, RadGridView is aware of the column with the biggest size and performs its calculations based on it. When their size is changed on loading, the control cannot be aware of the size of a column that is not present in the viewport thus, the reported issue is observed. In order this behavior to be modified so, the engine needs to measure an element that is not yet loaded. We cannot commit ourselves to implementing this, as this would affect the virtualization of RadGridView. A possible workaround would be to avoid setting the Width of the columns initially in XAML.
Declined
Last Updated: 12 Feb 2018 15:40 by ADMIN
When RadGridView is bound to a ListCollectionView and the SortDescriptions are set, columns with a SortMemberPath different from the DataMemberBinding don't display the sort indicator in the column header.

In the attached example the "Status" and "ETA" columns are sorted. "Status" header does not display the indicator due to the SortMemberPath being different from the DataMemberBinding.
Declined
Last Updated: 24 Oct 2017 13:37 by ADMIN
In an application, I bind a DataTable with many rows to a RadGridView. As soon as, the datatable is binded, I see the memory needed by the application growing. The problem is that the binding is done each time the content of the DataTable is changing. It seems that the memory is never cleared and keep growing until a MemoryException is thrown. This does not appear with a WPF standard GridView. Do you know why ?
Declined
Last Updated: 16 Oct 2017 13:22 by ADMIN
I have a RadGridView and bind its ItemsSource and its SelectedItem to properties of the ViewModel (DataContext). When the ViewModel is created, the property bound to ItemsSource is filled and the property bound to SelectedItem is set to one of the items in the collection.

However, when the GridView is displayed, the property is first set to null and then set to the first item in the collection. I assume that the binding of the SelectedItem is evaluated before the binding of the ItemsSource, so the grid is empty and the desired item can't be selected. Is there any way to influence the order, in which the binding are evaluated? Or is there any other way to avoid that the SelectedItem is changed?

A similar issue is described here: http://www.telerik.com/forums/selecteditem-binding-issue
Unfortunately, I couldn't to find the support ticket mentioned in this thread.
Declined
Last Updated: 06 Oct 2017 14:47 by ADMIN
Edit:
We are declining this bug as originally the export options were not meant to respect group properties but only some global GridView properties.
However we will add such option in GridViewDocumentExportOptions class.
You can follow this feature request => 
https://feedback.telerik.com/Project/143/Feedback/Details/229211-gridview-add-option-in-gridviewdocumentexportoptions-to-include-exclude-grouph
1 2 3