我在窗体上有一个单选按钮,一个gridview和一个按钮。这里是我的datagridview selection_changed
代码示例:DataGridView选择更改事件并从数据库中删除选定的行
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中的任何一列可以可见=假所以它会被程序代码所访问,如:
int rowID = int.Parse(DataGridView1[0, selectedIndex].Value.ToString());
看看这里http://stackoverflow.com/questions/5539243/how -to-delete-a-selected-row-from-datagridview-and-database它可能会帮助你.. –