Hi,
I have 2 RadGridView's in a window both of which perform row level validation. I am able to raise an exception" "An infinite loop appears to have resulted from cross-dependent views." when both grids are validating.
Ive created a very basic test app and here are the steps:
I have 2 RadGridView's in a window both of which perform row level validation. I am able to raise an exception" "An infinite loop appears to have resulted from cross-dependent views." when both grids are validating.
Ive created a very basic test app and here are the steps:
- Top Grid. Click "Click here to add a new item" to add a new row.
- Bottom Grid do the same.
The Top grid will show the row as invalid. and the botton grid will have a new row - Click in the bottom grid's new row (the Initial value 2 column) and it will crash
Here is the Xaml
<Window x:Class="TestMultipleRadGrids.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" Title="MainWindow" Height="350" Width="525"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <telerik:RadGridView Grid.Row="0" x:Name="_rad1" ValidatesOnDataErrors="InEditMode" ShowGroupPanel="False" AutoGenerateColumns="False" CanUserReorderColumns="True" CanUserInsertRows="True" RowValidating="_rad1_RowValidating" ShowInsertRow="True"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Name1" /> <telerik:GridViewDataColumn Header="Initial Value1" DataMemberBinding="{Binding InitialValue1, Mode=TwoWay}"/> </telerik:RadGridView.Columns> </telerik:RadGridView> <telerik:RadGridView Grid.Row="1" x:Name="_rad2" ShowGroupPanel="False" ValidatesOnDataErrors="InEditMode" AutoGenerateColumns="False" CanUserReorderColumns="True" CanUserInsertRows="true" RowValidating="_rad2_RowValidating" ShowInsertRow="True"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Name2"/> <telerik:GridViewDataColumn Header="Initial Value2" DataMemberBinding="{Binding InitialValue2, Mode=TwoWay}" /> </telerik:RadGridView.Columns> </telerik:RadGridView> </Grid></Window>
Here is the code behind:
using System.Windows;using Telerik.Windows.Controls;namespace TestMultipleRadGrids{ /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void _rad1_RowValidating(object sender, Telerik.Windows.Controls.GridViewRowValidatingEventArgs e) { GridViewCellValidationResult validationResult = new GridViewCellValidationResult(); validationResult.PropertyName = "InitialValue1"; validationResult.ErrorMessage = "Error"; e.ValidationResults.Add(validationResult); e.IsValid = false; } private void _rad2_RowValidating(object sender, Telerik.Windows.Controls.GridViewRowValidatingEventArgs e) { _rad1.Focus(); GridViewCellValidationResult validationResult = new GridViewCellValidationResult(); validationResult.PropertyName = "InitialValue2"; validationResult.ErrorMessage = "Error"; e.ValidationResults.Add(validationResult); e.IsValid = false; } }}
Any help would be greatly appreciated.
