0

我正在使用 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());

            }}}

在此处输入图像描述

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

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

2 回答 2

0

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

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

于 2013-08-13T08:25:21.093 回答
0

试试这个...从数据网格中获取所有选定的项目...

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

编辑 我不了解 devexpress 数据网格,但您可以从DevExpress 网格多行数据选择中获得帮助

于 2013-08-13T08:42:21.243 回答