单击鼠标选中数据
我想删除GridView中单击选中的行,下面的代码对吗?为什么每次删除的都不是选中的行?
private static int rowIndex = 1;
private void Data_GridView_CellEnter(object sender, DataGridViewCellEventArgs e)
{
rowIndex = e.RowIndex;
//Data_GridView.
}
int i = rowIndex;
private void btn_dele_Click(object sender, EventArgs e)
{
try
{
SqlDataAdapter myDataAdapter = new SqlDataAdapter(sql, conn);
SqlCommandBuilder myBuillder = new SqlCommandBuilder(myDataAdapter);
DataRow drow = myDataSet.Tables["Mark"].Rows[i];
drow.Delete();
myDataAdapter.Update(myDataSet, "Mark");
conn.Close();
Console.ReadLine();
}
catch
{
}
}
------解决方案--------------------
DataGridView和DataTable的记录顺序有可能不一致。
这也和你绑定的方式有关。
不用直接删记录,你可以设断点观察一下:
Data_GridView.Rows[i]和myDataSet.Tables["Mark"].Rows[i]应该是不一样的。
既然你的行序号是由DataGridView获取的,
试试将
C# code
DataRow drow = myDataSet.Tables["Mark"].Rows[i];
drow.Delete();