When a RadGridView cell has a validation error, a red border will appear around the cell. In this case, the top validation border is missing on the first row cells. As a workaround, you can move the ContentPresenters of the cells a little bit in the loaded event of the control.
private void RadGridViewView_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
var treeListView = sender as RadTreeListView;
var editorPresenters = treeListView.ChildrenOfType<ContentControl>().Where(x => x.Name == "PART_ContentPresenter" && x.ParentOfType<GridViewCell>() != null);
foreach (var item in editorPresenters)
{
item.Margin = new System.Windows.Thickness(1);
}
}
When using a QueryableCollectionView with a FilterDescriptor and a GroupDescriptor, items which are filtered won't be added to the (new) group after being edited programmatically.
For the time being, the Refresh method of the view can be called to reevaluate this or the filter descriptor can be removed and re-added.
GridView allows you to define an AggregateFunction for each column and display the summary information for all cells in the column when there is grouping enabled. This will produce a group header with an aggregate result for each column that has aggreagate functions defined.
Adding and removing columns from the RadGridView's Columns collection doesn't update the aggregate results displayed in the group header.
To work this around, you can remove the GroupDescriptor from the GridView control and add a new instance of the descriptor, when you add/remove an item.
private void RadButton_Click_1(object sender, RoutedEventArgs e)
{
var column = new GridViewDataColumn() { DataMemberBinding = new System.Windows.Data.Binding("Number1") };
column.AggregateFunctions.Add(new SumFunction());
this.gridView.Columns.Add(column);
var descriptor = (GroupDescriptor)this.gridView.GroupDescriptors[0];
this.gridView.GroupDescriptors.Remove(descriptor);
this.gridView.GroupDescriptors.Add(new GroupDescriptor() { Member = descriptor.Member });
}
Currently, the range of the ScaleFactor property is between 0.1 and 4.0. We could include API to allow the user to set minimum and maximum boundaries that are between the default range (0.1 and 4.0).
For example:
private void RadGridView_ColumnReordering(object sender, Telerik.Windows.Controls.ColumnReorderingEventArgs e)
{
int notResizeableColumnIndex = 1;
if (e.NewDisplayIndex == notResizeableColumnIndex)
{
e.Cancel = true;
}
}
The property changed of the property bound to IsExpandableBinding (property of RadGridView) is not reflected in the row. To reproduce this the IsPropertyChangedAggregationEnabled property of RadGridView should be set to True (which is the default value) and the view model property (bound to IsExpandableBinding) should be updated consequently with other properties of the view model. For example:
myRowModel.Name = "New name";
myRowModel.IsExpandable = false;
To work this around, use the IsExpandable property of GridViewRow. You can data bind it using the RowStyle property of RadGridView. Or alternatively, set the IsPropertyChangedAggregationEnabled property of RadGridView to False.
The current row indicator visual (the right pointing arrow) gets hidden if you enter edit mode of a cell (which shows the cell edit indicator) and then press Esc two times. The first time cancel the cell editing and the second time cancels the row editing.
This reproduces in the VisualStudio2013 theme.
To work this around, extract the ControlTemplate of GridViewRow for the VisualStudio2013 theme and add the following MultiTrigger at the bottom of the template (last in the ControlTemplate.Triggers collection).
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsValid" Value="True"/>
<Condition Property="IsCurrent" Value="True"/>
<Condition Property="IsInEditMode" Value="False"/>
</MultiTrigger.Conditions>
<Setter TargetName="NavigatorIndicator" Property="Visibility" Value="Visible"/>
</MultiTrigger>
The background of the GridView's group headers has a light background in the dark color variation of the Windows 11 theme.
This reproduces only the GroupRenderMode property of RadGridView is set to Nested (the default value).
To work this around set the GroupRenderMode property of RadGridView to Flat.