Completed
Last Updated: 03 Jun 2019 06:27 by ADMIN
Release LIB 2019.2.603 (06/03/2019)
Columns are not automatically generated when binding to an empty table passed by RadEntityFrameworkDataSource
Completed
Last Updated: 13 Jun 2019 14:06 by ADMIN
Release R2 2019 SP1
This is reproduced when the RadGridView is bound to a ListCollectionView and it is grouped. In such a case, when an item is edited, it is brought to the bottom of the group.
Completed
Last Updated: 03 Dec 2019 11:49 by ADMIN
Created by: Dinko
Comments: 0
Category: GridView
Type: Bug Report
1
Fix Section 508 Compliance accessibility errors. 
Completed
Last Updated: 04 Nov 2019 12:44 by ADMIN
Release LIB 2019.3.1104
If the DataMemberBinding of a GridViewMultiColumnComboBoxColumn points to a nested property, the value of that property is displayed in view mode and the DisplayMemberPath is not respected.
Completed
Last Updated: 15 Oct 2020 13:40 by ADMIN
When invalid rows that were loaded but not in viewport get valid, the invalid state (row validation indicator) is still visible.
Completed
Last Updated: 24 Sep 2019 06:56 by ADMIN
Release LIB 2019.3.923
When adding a new row (before committing it) and we switch between the cells the RowValidating event is called every time.
Unplanned
Last Updated: 16 Sep 2019 12:21 by ADMIN

Bind a grid to a DataView

Start editing and change the values of a few cells.

Press Escape twice to cancel the edit of the entire row.

Expected: the values return to the old values

Actual: the values remain the last entered ones

Completed
Last Updated: 17 Oct 2019 09:29 by ADMIN
Release R3 2019 SP1
If ExportDefaultStyles is set to true, the default styles are exported. If the user has set some settings in the ElementExportingToDocument handler, those are ignored.

Setting the property to false allows the custom setting to be applied, but the default ones are gone
Completed
Last Updated: 08 Nov 2019 15:13 by ADMIN
Release LIB 2019.3.1111

The designer throws an error when the default style of a control which has a RadSplitButton/RadDropDownButton in its control template is extracted in a ResourceDictionary and then merged in App.xaml. There must be a custom style which is based on the extracted one to reproduce the error. This behavior is only present in 2019 R3.

The error is "This feature requires service 'Microsoft.Windows.Design.Services.ValueTranslationService' to be present, but it could not be located."

Completed
Last Updated: 04 Dec 2019 11:40 by ADMIN
Release LIB 2019.3.1209 (12/09/2019)

When the ItemsSource is not set: ArgumentOutOfRangeException is thrown

When the ItemsSource is set to an empty collection: DivideByZeroException is thrown

Completed
Last Updated: 11 Apr 2022 10:28 by ADMIN
Release LIB 2022.1.411 (11 Apr 2022)
When a frozen column is resized to fill the entire RadGridView, there isn't an option to reduce its size in order to bring the other columns into view.
Completed
Last Updated: 06 Feb 2020 08:12 by ADMIN
Release LIB 2020.1.210 (02/10/2020)

The ItemsControl that holds the control panel of RadGridView should not be included in the tab order. Its IsTabStop property should be False. Only the items inside of it should be included in the tab order.

To work this around, use the ChildrenOfType extension method to get the ItemsControl and set its IsTabStop property. Optionally, you can exclude also the ControlPanelItemControl elements from the tab order.

private void gridView_Loaded(object sender, RoutedEventArgs e)
{
	var controlPanel = this.gridView.ChildrenOfType<ItemsControl>().FirstOrDefault(x => x.Name == "PART_ControlPanelItemsControl");
	controlPanel.IsTabStop = false;
}

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;
}

Completed
Last Updated: 11 Oct 2022 11:00 by ADMIN
Release LIB 2020.1.203 (02/03/2020)

SearchStateManager property is null when trying to change any of the properties of the SearchStateManager object in the Loaded event. This behavior is observed when the ShowSearchPanel property is not set to true initially.

Completed
Last Updated: 14 Feb 2020 08:27 by ADMIN
Release R1 2020 SP

Blank spaces where rows should appear are observed in the following situation. You start editing a row or a column, then scroll the row outside of the viewport before the edit was committed. Then sort a column.

This is reproducible only if the GroupRenderMode property of RadGridView is set to Flat. Also, the AutoGenerateColumns property should be set to False and the Columns should be added manually.

Note that the issue is reproducible also in RadTreeListView, which has the GroupRenderMode set to Flat by default.

To work this around, set the GroupRenderMode property of RadGridView to Nested.

Completed
Last Updated: 31 May 2021 08:04 by ADMIN
Release LIB 2020.2.323 (03/23/2020)

To reproduce this:

  1. Set the GroupRenderMode of RadGridView to Flat.
  2. Page RadGridView using RadDataPager.
  3. Scroll to the last row in the view. Or scroll to any row so that few of the rows above are not longer visible.
  4. Expand the row details and scroll down more until only the parent row is visible.
  5. Collapse the row details. At this point, the vertical scrollbar disappears and the upper rows are not brought into the view as expected when the row details gets collapsed.

To work this around call the Rebind() method of RadGridView on RowDetailsVisibilityChanged event.

 

private void RadGridView_RowDetailsVisibilityChanged(object sender, Telerik.Windows.Controls.GridView.GridViewRowDetailsEventArgs e)
{
	if (e.Visibility == Visibility.Collapsed)
	{
		this.gridView.Rebind();
	}        
}

 

Unplanned
Last Updated: 27 Apr 2020 08:25 by ADMIN
Add support for different merged cells orientation - MergedCellsOrientation.Mixed could be added.
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

Completed
Last Updated: 30 Oct 2020 15:05 by ADMIN
Release R3 2020
A NullReferenceException is raised when trying to edit a GridViewMultiColumnComboBoxColumn and the RadGridView's ItemsSource is a DataView.
Completed
Last Updated: 24 Jun 2020 13:40 by ADMIN
Release LIB 2020.2.629 (6/29/2020)
Add mechanism to exclude columns from exporting when using GridViewSpreadStreamExport