我有一个从 DataGrid 中删除行的按钮;其中一列是管理列。我需要程序检查被删除的行(或行,因为它可以删除多行)是否是最后一个 Admin = true 的行,因为删除最后一个管理员会导致该表无法访问。
删除行的代码是这样的:
connection.Open();
List<DataRow> theRows = new List<DataRow>();
for (int i = 0; i < funcDataGrid.SelectedItems.Count; ++i)
{
Object o = funcDataGrid.SelectedItems[i];
if (o != CollectionView.NewItemPlaceholder)
{
DataRowView r = (DataRowView)o;
theRows.Add(r.Row);
}
}
foreach (DataRow r in theRows)
{
string a = r.Field<string>("usernameFunc");
cmdSel = new MySqlCommand("DELETE FROM usersFunc WHERE usernameFunc='"
+ a + "'", connection);
cmdSel.ExecuteNonQuery();
int k = ds.Tables["funcionarios"].Rows.IndexOf(r);
ds.Tables[0].Rows[k].Delete();
}
connection.Close();
请记住,它是从两个连接表中删除的,因此我无法以通常的方式删除行。