Completed
Last Updated: 03 Nov 2020 15:34 by ADMIN
Release LIB 2020.3.1109 (11/09/2020)
When performing a sort operation by clicking on the column header the cursor changes to a busy one if the operation takes longer. The same should be implemented when performing a sort by clicking on a group cell in the grouping panel.
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: 29 Oct 2020 10:31 by ADMIN
Release R3 2020 SP1
Unplanned
Last Updated: 25 Oct 2020 11:36 by SÅ‚awomir
If in the content of RadGridView.ControlPanelItem has a binding with a RelativeSource or ElementName and the grid is placed in the collapsed UserControl, a binding error is thrown in the output window.
Completed
Last Updated: 16 Oct 2020 12:59 by ADMIN
Release R3 2020 SP
Clearing and updating the ColumnGroups collection results in degraded performance when there is a big amount of column groups.
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: 15 Oct 2020 11:57 by ADMIN
Release LIB 2020.3.1019 (10/19/2020)
When SpreadStreamExport.RunExportAsync() method is exporting large data it could take a while to export the grid. While exporting the grid, the ItemsSource changes to a new one with a different number of columns, NullReferenceException is thrown.
Completed
Last Updated: 15 Oct 2020 10:09 by ADMIN
Release R3 2020 SP

When using INotifyDataErrorInfo, items are still validated even when the ValidationType property is None.

 

Please note that when the AutoGeneratedColumns property is set to true, the item's HasErrors property will be evaluated, but only once.

 

 

Unplanned
Last Updated: 09 Oct 2020 12:37 by ADMIN

Hello

I have often faced a scenarion where I have groups (GroupDescriptor), but those groups need to be ordered by a different property.

Usually, telerik column properties already provide a SortMemberPath.

<telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" SortMemberPath="Id"


However, the GroupDescriptor does not have that, it only has Member and SortDirection.

The only way to set the sort to refer another property is in code behind using a generic group descriptor. It is very flexible, but it has several drawbacks, since now I'd have to declare everything in C# (aggregate functions, templates, etc) and also lose the Design time feedback from Visual Studio.

My request is to just have the possibility to set a SortMember in XAML which will work for most scenarios, same way as others components already do.

<telerik:GroupDescriptor Member="OrderState" SortDirection="Ascending"
                                         SortMember="OrderStateIndex" >

 

Thanks

Unplanned
Last Updated: 09 Oct 2020 12:04 by ADMIN
When the ItemsSource of the RadGridView is set to an implementation of ICollectionView, the Groups property is not utilized, since the groups are generated internally by the RadGridView. We can consider introducing support the Groups property to allow for grouping customizations.
Completed
Last Updated: 08 Oct 2020 07:47 by ADMIN
Release LIB 2020.3.1012 (10/12/2020)
Created by: LindenauAtSOG
Comments: 3
Category: GridView
Type: Bug Report
2
As a Followup to this (Bad performance with grouping)Forumpost I managed to reproduce the issue now.
Since i cannot upload zip-files in the Forum I am doing it here.


The problem is, that a single grouping dramatically increases the time for sorting the values.
When the grouping is not present, sorting the same column is much faster.


It appears that it is related to the ammount of columns in total (not grouped).
The ammount of records is not so important, 100 (as in the attached sample) should not be significant.
Completed
Last Updated: 14 Sep 2020 04:51 by ADMIN
Release R3 2020

The MatchAllTerms search mode doesn't behave as epxected when the GroupRenderMode property of RadGridView is set to Flat.

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

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: 31 Aug 2020 10:40 by ADMIN
Release LIB 2020.2.831
 Expose mechanism to choose between loading all items or load only the items having containers
Completed
Last Updated: 21 Aug 2020 06:28 by ADMIN
Release LIB 2020.8.224 (08/24/2020)
SearchMode property cannot be set in XAML because SearchStateManager is null initially.
Completed
Last Updated: 17 Aug 2020 12:23 by ADMIN
Release LIB 2020.2.817 (08/17/2020)
Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='Telerik.Windows.Controls.GridView.DataCellsPresenter', AncestorLevel='1''. BindingExpression:Path=Foreground; DataItem=null; target element is 'ContentControl' (Name='PART_ContentPresenter'); target property is 'Foreground' (type 'Brush'). Such errors are shown when loading data and using some of the newer themes (VisualStudio2019, Fluent, Crystal).
Unplanned
Last Updated: 10 Aug 2020 13:18 by ADMIN
Created by: Tobias
Comments: 0
Category: GridView
Type: Feature Request
1
Evaluate GroupBy queries on the server when the data source allows it.