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.
Unplanned
Last Updated: 03 Aug 2020 09:42 by ADMIN
Created by: Martin Ivanov
Comments: 0
Category: GridView
Type: Feature Request
9
Currently, the ControlPanelItem expose only standard CLR properties. Make them DependencyProperties so they can be data bound.
Unplanned
Last Updated: 29 Jul 2020 09:57 by ADMIN
Created by: Heiko
Comments: 1
Category: GridView
Type: Feature Request
4
When exporting there are several ways of telling the exporting class which column to exclude during export (through options or by cancelling the export of the column in an event). It would be easier if there was an "IsExportable" property on GridViewDataColumn so that the export can take that into account. No options or events would then be necessary when exporting.
Unplanned
Last Updated: 23 Jul 2020 10:27 by Graham
Created by: Tony
Comments: 4
Category: GridView
Type: Feature Request
3
Introduce a GridViewTimeSpanColumn for handling properties of the TimeSpan type.
Unplanned
Last Updated: 23 Jul 2020 08:58 by ADMIN
We can consider introducing functionality that allows users to conditionally style/format the control in a similar manner as the WinForms feature: https://docs.telerik.com/devtools/winforms/controls/gridview/cells/conditional-formatting-cells.
Unplanned
Last Updated: 23 Jul 2020 08:08 by ADMIN
Created by: Heiko
Comments: 1
Category: GridView
Type: Feature Request
7

Using SearchPanel and getting search results highlighted is a very usefull feature. However at the moment it is only possible to change the color of the highlight-portion of HighlightTextBlock. It would be nice if I have more formatting options like:

  • HighlightFontWeight
  • HighlightFontStyle

etc. So if I search for "find" I get results like "find me"

Completed
Last Updated: 17 Jul 2020 12:17 by ADMIN
Release LIB 2020.2.720 (07/20/2020)
Created by: Vladimir
Comments: 0
Category: GridView
Type: Bug Report
0
When there isn't a vertical scrollbar visible, while performing a drag selection, empty rows appear.
Unplanned
Last Updated: 15 Jul 2020 12:22 by ADMIN
Provide a way to change the ItemsSource of the control while it is exporting using SpreadStreamExport.RunExportAsync() method
Completed
Last Updated: 06 Jul 2020 12:32 by ADMIN
Release LIB 2020.2.713
When using Entity Framework Core 3 an InvalidOperationException is received upon adding an AggregateFunction to a column. 
Unplanned
Last Updated: 03 Jul 2020 07:25 by ADMIN
GridViewSpreadStreamExport throws exception exporting the control whit nested column groups and EnableColumnGroupsVirtualization set to False.
Unplanned
Last Updated: 30 Jun 2020 12:19 by ADMIN
Created by: Martin Ivanov
Comments: 0
Category: GridView
Type: Feature Request
1
Currently, when you scroll the RadGridView control the "click here to add new row" button goes out of the viewport. Allow to pin the button, so it float at the top or bottom of the viewport and to be always visible.
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
Completed
Last Updated: 22 Jun 2020 08:27 by ADMIN
Release LIB 2020.2.622 (06/22/2020)
When sorting a grouped RadGridView, the selection is lost. 
Unplanned
Last Updated: 22 Jun 2020 08:18 by ADMIN
The user wants an API with which he can set a formula. For example, the string "=A1+B1" will be translated in Excel like a formula.