I am trying to update a DataTable using a RadGridView. The data is displayed but whenever a column is edited and the cursor moved off the column the old data reappears. E.g. the underlying DataTable is not updated.
<Window x:Class="TestRadGridEdit.MainWindow" xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" xmlns:gridView="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView" xmlns:Controls="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" xmlns:data="clr-namespace:Telerik.Windows.Data;assembly=Telerik.Windows.Data" Title="MainWindow" Height="350" Width="525"> <Grid> <Controls:RadGridView Name="radGridView_HeadOfHouse" AutoGenerateColumns="False" ItemsSource="{Binding GetData}" DataContext="{Binding ElementName=radGridView_HeadOfHouse, Path=DataContext}"> <Controls:RadGridView.Columns> <Controls:GridViewDataColumn UniqueName="FirstName" Header="First Name" DataMemberBinding="{Binding FirstName, Mode=TwoWay}" /> <Controls:GridViewDataColumn UniqueName="LastName" Header="Last Name" DataMemberBinding="{Binding LastName, Mode=TwoWay}" /> </Controls:RadGridView.Columns> </Controls:RadGridView> </Grid> </Window> using System.Data; using System.Windows; using System.Windows.Data; using Telerik.Windows.Controls; namespace TestRadGridEdit { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Binding bind = new Binding(); bind.Source = GetData(); radGridView_HeadOfHouse.SetBinding(RadGridView.ItemsSourceProperty, bind); } public DataTable GetData() { DataTable dt = new DataTable("Testing"); dt.Columns.Add(new DataColumn("FirstName")); dt.Columns.Add(new DataColumn("LastName")); DataRow dr = dt.NewRow(); dr["FirstName"] = "Tom"; dr["LastName"] = "Smith"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["FirstName"] = "Fred"; dr["LastName"] = "Smith"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["FirstName"] = "Jack"; dr["LastName"] = "Smith"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["FirstName"] = "Joe"; dr["LastName"] = "Smith"; dt.Rows.Add(dr); dt.AcceptChanges(); return dt; } } }