At the moment the GridViewNewRow can be placed at the top or at the bottom. Placing it between the rows will require new virtualization mechanism.
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
We noticed that RadGridView does not get garbagecollected sometimes.
So i fired up a memory analyzer to see what is going on.
This is the graph that shows that the RadGridView is causing a leak. The only references that keep the GridView from getting collected are those two WeakEventListeners
To further investigate i decompiled GridViewDataControl and could identify the culprit.
private void SubscribeToDispatcherShutdown()
{
if (this.dispatcherShutdownListener != null)
this.dispatcherShutdownListener.Detach();
this.dispatcherShutdownListener = new WeakEventListener<GridViewDataControl, object, EventArgs>(this);
this.dispatcherShutdownListener.OnEventAction = (Action<GridViewDataControl, object, EventArgs>) ((grid, source, eventArgs) => grid.OnDispatcherShutdownFinished(source, eventArgs));
this.dispatcherShutdownListener.OnDetachAction = (Action<WeakEventListener<GridViewDataControl, object, EventArgs>>) (weakEventListener => this.Dispatcher.ShutdownFinished -= new EventHandler(this.dispatcherShutdownListener.OnEvent));
this.Dispatcher.ShutdownFinished += new EventHandler(this.dispatcherShutdownListener.OnEvent);
}
In the second line from the botton
... weakEventListener => this.Dispatcher.ShutdownFinished -
When TabStopMode is set to "Skip" on all columns and you press Tab, RadGridView scrolls a little. Workaround: define a custom KeyboardCommandProvider and clear the pending commands.
Add a property to the RadGridView that provides a distinct template for adding a new row.
Sometimes you have classes with no default constructor. Those classes may have properties that are read-only after construction. This cannot be handled in the RadGridView, because you only have the choice of a CellEditTemplate. (I'm envisioning something akin to the RowDetailsTemplate.)
Example: I have a class that defines a invoice match for payment application. Once the invoice is set it cannot be changed. The user can still edit the match, but they're only allowed to edit the amount to be applied.
Currently, if RadGridView is bound to a INotifyCollectionChanged collection and the collection class raises the CollectionChanged event with NotifyCollectionChangedAction set to Add, Remove or Insert, RadGridView is not updating its items properly when the OldItems or NewItems collections contain more than 1 items.
Add support for this scenario.