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;
}
}
}