我正在使用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();
答案 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获得帮助