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.
- 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.