When you have rows grouped by null value and you try to move one of the rows to another group, a NullReferenceException is thrown.
This is reproducible only when DataView is used as ItemsSource of RadGridView.
To work this around, avoid using null values. Or avoid using DataView.
Memory leak appears when exporting to Xlsx and Pdf formats.
To work this around, you can call one of the export methods GridViewDataControlExportExtensions with empty arguments.
Workbook workbook = this.gridView.ExportToWorkbook();
try
{
GridViewDataControlExportExtensions.ExportToWorkbook(new RadGridView(), new GridViewDocumentExportOptions());
GridViewDataControlExportExtensions.ExportToWorkbook(null);
}
catch (ArgumentException)
{
}
In this particular case, the DisplayIndex properties of the parent and child grid are bound to property from our ViewModel. When the parent grid columns are reordered runtime, the columns of the child grid are also reordered. But when sorting is performed by clicking on a column header, an exception is thrown.
Changing the TextAlignment property of the GridViewExpressionColumn doesn't refresh the cells, thus the change is not visible in the UI.
To work this around, remove and add again the corresponding column in the Columns collection of RadGridView. Or define a CellTemplate and use a TextBlock control with its TextAlignment bound to the column's property.
<telerik:GridViewExpressionColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"
TextAlignment="{Binding RelativeSource={RelativeSource AncestorType=telerik:GridViewCell}, Path=Column.TextAlignment}" />
</DataTemplate>
</telerik:GridViewExpressionColumn.CellTemplate>