我的表单上有一个单选按钮、一个网格视图和一个按钮。这是我的datagridview selection_changed
代码示例:
private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (rdb_Delete.Checked)
{
lbl_deleteMsg.Text = DataGridView1.SelectedRows.Count.ToString()
+ " rows selected.";
}
}
当用户按下删除按钮时,我想从数据库中删除选定的行并刷新 datagridview。我的数据库中有一个 Id 列,但我没有在 datagridview 上向用户显示它。
那么通过 sql 查询如何从我的数据库中删除选定的行?这是我的删除按钮单击代码,但它似乎不起作用(因为选择更改事件):
private void btn_Delete_Click(object sender, EventArgs e)
{
if (rdb_Delete.Checked)
{
int count = DataGridView1.SelectedRows.Count;
int length = DataGridView1.RowCount;
if (!count.Equals(0))
{
if (confirm())
{
for (int i = 0; i < length; i++)
{
if (DataGridView1.Rows[i].Selected)
{
//DataGridView1.SelectedRows[i].Selected = false;
DataGridView1.Rows.RemoveAt(i);
i--;
}
}
}
}
}
}
编辑:在这种情况下,我还找到了一个小答案可能对某人有所帮助。DataGridView 的任何列都可以是可见的 = false,因此可以通过以下代码访问它:
int rowID = int.Parse(DataGridView1[0, selectedIndex].Value.ToString());