我的表单上有一个单选按钮,一个gridview和一个按钮。这是我的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的any列可以是 visible = false,
因此可以通过以下代码进行访问:
int rowID = int.Parse(DataGridView1[0, selectedIndex].Value.ToString());
试试这个:
private void btn_Delete_Click(object sender, EventArgs e)
{
if (rdb_Delete.Checked)
{
foreach (DataGridViewRow row in DataGridView1.SelectedRows)
{
//delete record and then remove from grid.
// you can use your own query but not necessary to use rowid
int selectedIndex = row.Index;
// gets the RowID from the first column in the grid
int rowID = int.Parse(DataGridView1[0, selectedIndex].Value.ToString());
string sql = "DELETE FROM Table1 WHERE RowID = @RowID";
// your code for deleting it from the database
// then your code for refreshing the DataGridView
DataGridView1.Rows.Remove(row);
}
}
}
我依赖eclipse插件中的选择服务来响应TableViewer中的选择更改。 这很好,但有时我会更改表中的数据(而选择不会更改)。不幸的是,更改表中的数据不会触发此事件。执行此操作后,我尝试手动将选择设置为第一项: 这不会导致选择更改事件,即使选择确实更改。
我在选择元素的更改事件上绑定了一个事件: 当变更事件发生时,我如何访问被选中的元素?
我的表代码如下...
问题内容: 我需要从数据库中删除除前两个选定日期以外的所有日期: 我想在一个查询中删除除前两个日期以外的所有日期。 问题答案:
问题内容: 当我选择一行并按“删除”按钮时: 在摆动界面中,选定的行将被删除(如预期的那样)。但 在实际的数据库中,无论选择的行是什么(都不期望),最后一行都将被删除。无论实际选择的行是什么,被删除的行始终是数据库中的最后一行。我的代码中没有错误,也没有抛出异常。它的工作没有任何中断。 我实际上在代码中添加了必要的内容: 并添加“删除”按钮以删除选定的行: 问题答案: 谢谢@Germann … 我
问题内容: 我有一个称为Data的数据库,它是数据库中每个实体的父级。它包含Id等通用属性。然后,我有了一个扩展Data的实体,这也是由于其子类的通用功能而引起的。我的数据库中的映射是正确的。 这是我的等级制度的一个例子 并且表已正确映射: 无论如何,是否在数据库中查询所有作为Employee实例的Employee子类(FullTimeEmployee,PartTimeEmployee),而不在查