首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

单击鼠标选中数据,该如何解决

2012-08-15 
单击鼠标选中数据我想删除GridView中单击选中的行,下面的代码对吗?为什么每次删除的都不是选中的行?privat

单击鼠标选中数据
我想删除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(); 

热点排行