我正在使用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
數據表從哪裏來?如果它是生成的,那很明顯,這是行不通的,但如果它是來自數據庫的表,這是另一種情況。 –