私は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
データテーブルはどこから来たのですか?それが生成された場合、これは動作しないことは明らかですが、データベースからのテーブルの場合はこれが別のケースです。 –