我正在使用c#,wpf,DataGrid,SqlDataAdapter,DataTable,MS Sql服务器 在主窗体上有一个DataGrid和一个按钮。 单击该按钮应从DataGrid选定行中删除。然后从数据库中。但是这没有发生!只有从DataGrid! 这里是我的代码:c#wpf - DataGrid删除选定的行
private void Button_DeleteSelectedRows_Click(object sender, RoutedEventArgs e)
{
try
{
if (dataGrid.SelectedItems.Count == 1)
{
int selectedIndex = dataGrid.SelectedIndex;
var row = dataTable.Rows[selectedIndex];
row.Delete();
dataAdapter.Update(dataTable);
}
else if (dataGrid.SelectedItems.Count > 1)
{
int count = dataGrid.SelectedItems.Count;
for (int i = count - 1; i >= 0; i--)
{
DataRowView rowView = dataGrid.SelectedItems[i] as DataRowView;
dataTable.AsEnumerable()
.Where(r => r["Name"].ToString() == rowView.Row["Name"].ToString())
.ToList()
.ForEach(r => r.Delete());
dataTable.AcceptChanges();
}
dataAdapter.Update(dataTable);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
P.S:我不会用MVVM
非常感谢您的帮助!
是否捕获到任何异常? – ViVi
没有例外:) – Dave
数据表从哪里来?如果它是生成的,那很明显,这是行不通的,但如果它是来自数据库的表,这是另一种情况。 –