过滤后编辑wpf数据网格行

本文关键字:数据网 网格 数据 wpf 编辑 过滤 | 更新日期: 2023-09-27 18:07:36

我有一个WPF c#数据网格,我可以通过一个SqlDataAdapter过滤,并显示它与ItemsSource属性。

我也可以在过滤之前更新/删除行,但不能在过滤之后。

diamedbEntities objContext;
Sender objSendToEdit;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
    objContext = new diamedbEntities();
    dgEmp.ItemsSource = objContext.Senders;
}
private void dgEmp_SelectionChanged(object sender, SelectionChangedEventArgs e)
{       
    objSendToEdit = dgEmp.SelectedItem as Sender;
}
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
    if (objSendToEdit == null)
    {
        MessageBox.Show("Cannot delete the blank Entry");
    }
    else
    {
        objContext.DeleteObject(objSendToEdit);
        objContext.SaveChanges();
        MessageBox.Show("Record Deleted..");
    }
}

过滤后objSendToEdit为空。我怎么解决这个问题?

过滤后编辑wpf数据网格行

http://msdn.microsoft.com/en-us/library/cscsdfbt(v=VS.100).aspx

操作符类似于强制转换操作。但是,如果转换不是可能,因为返回null而不是引发异常。

你想用objSendToEdit = dgEmp.SelectedItem as Sender;做什么?

这是因为过滤器必须清除所选内容,从而使objSendToEdit为空。

你应该在过滤后立即重新选择objSendToEdit回到数据网格。

  objSendToEdit = dgEmp.SelectedItem;
  //// filter code
  dgEmp.SelectedItem = objSendToEdit;

如果有帮助请告诉我