未设置对象引用 - WPF - 行删除

时间:2013-08-13 08:21:34

标签: c# .net wpf devexpress

我正在使用WPF和Devxpress。我在我的应用程序中进行了两个操作,即添加和删除网格中的行。两者都很好。但是,如果我拖放一列,那么删除将停止工作以同时删除多行。在这里代码和图片,请回答我的问题。

 private void DeleteButton_Click(object sender, RoutedEventArgs e)
        {

      if (DXMessageBox.Show("Are You Sure, you Want to Delete?", "Delete Item-Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)

            {
        try
            {
                myEntities dbcontext = new myEntities();
                Name per = grid.SelectedItem as Name;
                dbcontext.Names.Remove(per);
                dbcontext.SaveChanges();
                Refresh();
                }
            }
        catch (Exception ex)
            {
           DXMessageBox.Show(ex.Message.ToString());

            }}}

enter image description here

以下代码可以很好地删除单行:

Name per = grid.SelectedItem as Name; 
dbcontext.Names.Remove(per); 
dbcontext.SaveChanges(); 

2 个答案:

答案 0 :(得分:0)

您正在创建dbcontext的空实例,然后尝试修改空实例中的对象,该对象不存在。

创建myEntities类型的全局实例(在类级别),它将保存包含所有对象的原始实例。然后在事件中,只需访问该全局实例并修改其中的对象。

答案 1 :(得分:0)

试试这个......从datagrid中获取所有选定的项目......

myEntities dbcontext = new myEntities();
foreach (var item in grid.SelectedItems)
      {
                Name per = item as Name;
                dbcontext.Names.Remove(per);
       }
dbcontext.SaveChanges();

修改 我不了解devexpress datagrid,但您可以从DevExpress grid multiple row data selection获得帮助