2014-11-23 199 views
0

我想删除数据网格中选中的行,当他们点击删除按钮。我希望它从数据库和DataGrid中删除。如何删除DataGrid中的选定行?

这里是我如何填充Gridbox,使用实体框架

ObjectContext objectContext3 = ((IObjectContextAdapter)dataEntities).ObjectContext; 
       ObjectSet<STUDENT> students = objectContext3.CreateObjectSet<STUDENT>(); 
        var query4 = 
        from STUDENT in students 
        orderby STUDENT.NameID 
        select new { STUDENT.DOB, STUDENT.NameID }; 
        userDataGrid.ItemsSource = query4.ToList(); 
        userDataGrid.UpdateLayout(); 

以下是我试图删除它做。我不是100%确定这是否正确。如果您认为有更好的办法,请让我知道。

private void deleteRow_Click(object sender, RoutedEventArgs e) 
    { 
     DataGrid dg = this.userDataGrid; 

     if (dg != null) 
     { 
      var toDelete = (IList)dg.SelectedItems;//<-- Datagrid.SelectedItems 
      var collection = toDelete.Cast<DataRowView>(); 
      var list = new List<DataRowView>(collection); 

      foreach (var item in list) 
      { 
       item.Row.Delete(); 
      } 
     } 
    } 

任何帮助将不胜感激!

回答

0

什么错误,你得到(如果有的话)?试着改变你的列表名称的东西,是不使用.net框架

+0

那么它从DataGrid中删除它,但它不会从删除数据库。 – Travis 2014-11-24 02:16:59