【发布时间】:2011-12-25 20:04:05
【问题描述】:
我有一个 WPF DataGrid,我希望能够对其进行更新、插入和删除。我使用 ObservableCollection 绑定到 DataGrid.DataContext。
当 DataGrid 的 SelectionChanged() 事件触发时,我执行 Context.SaveChanges() 以写回数据库。
但是,上述方法仅在我更新现有记录时有效。当我尝试通过单击 DG 中的最后一行或按删除来添加新记录时,SaveChanges() 不执行任何操作。数据未添加或删除。
如何在 DataGrid 中添加或删除记录?这是我的 DG xaml:
<DataGrid AutoGenerateColumns="False" Margin="0,12,0,89" Name="grdContact"
CanUserAddRows="True" SelectionMode="Single" IsReadOnly="False" CanUserDeleteRows="True"
ItemsSource="{Binding}"
IsSynchronizedWithCurrentItem="True"
Focusable="True"
SelectionChanged="grdContact_SelectionChanged"
<DataGrid.Columns>
<DataGridTextColumn Header="Last Name" Width="150" Binding="{Binding LastName}"/>
<DataGridTextColumn Header="First Name" Width="150" Binding="{Binding FirstName}"/>
</DataGrid.Columns>
</DataGrid>
我的代码背后 - 伪代码:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var CustomerObj = new ObservableCollection<Contact>(GetContacts());
grdContact.DataContext = CustomerObj;
}
private void grdContact_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Context.SaveChanges();
}
【问题讨论】:
标签: wpf