CellContentClick获取dataGridView行索引不准确!

szyjp 2009-11-27 11:16:03

如上图:
CellContentClick获取dataGridView行索引有时准确有时又不准确,如上图,行索引还记录的上一次点击单元格的行索引

代码如下:

//获取dataGridView行索引:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
RowID = e.RowIndex;
}

private void TS_Del_Click(object sender, EventArgs e)
{
if (RowID > -1)
{
DialogResult Result = MessageBox.Show("确定要删除: "+this.dataGridView1.Rows[RowID].Cells [2].Value+" 吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if(Result==DialogResult.OK)
{
ds.Tables["typeA"].Rows[RowID].Delete();
SqlCommandBuilder Builder = new SqlCommandBuilder(ADP);
ADP.Update(ds.Tables["typeA"]);
ds.Tables["typeA"].Clear();
getdate();
}

}
else
{
MessageBox.Show("索引ID不能为-1!","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);
}
}
...全文
311 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
szyjp 2009-11-30
  • 打赏
  • 举报
回复
感谢lzsh0622,你说的方法可以,谢谢!
结贴给份,呵呵
szyjp 2009-11-27
  • 打赏
  • 举报
回复
RowEnter 不行,
我要的效果是先选择一个单元格,然后点击删除按钮,就能删除这一行
ginni215 2009-11-27
  • 打赏
  • 举报
回复
那要不考虑一下RowEnter
szyjp 2009-11-27
  • 打赏
  • 举报
回复
我是用的左键啊,并且我也试过了CellClick
效果一样!
有时候还会:
打开窗口后第一次点击一个单元格后再点删除,会提示: 索引ID不能为-1!
ginni215 2009-11-27
  • 打赏
  • 举报
回复
而且你是CellContentClick,而不是CellClick
ginni215 2009-11-27
  • 打赏
  • 举报
回复
这是因为你右键直接选择的吧~~
szyjp 2009-11-27
  • 打赏
  • 举报
回复
下面那段代码忘了写备注,下面的代码是点击<删除>的代码!
lzsh0622 2009-11-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 szyjp 的回复:]
dataGridView1.CurrentRow.Index 是当前行,
但是当我点击当前行后,我再点击 <删除>按钮时,这行还是当前行吗?
[/Quote]
不变
szyjp 2009-11-27
  • 打赏
  • 举报
回复
还有我也试过了CellClick 为什么效果还是一样呢?
szyjp 2009-11-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lzsh0622 的回复:]
把 if (RowID > -1)
换成: if (dataGridView1.CurrentRow.Index> -1)


[/Quote]

dataGridView1.CurrentRow.Index 是当前行,
但是当我点击当前行后,我再点击<删除>按钮时,这行还是当前行吗?
liherun 2009-11-27
  • 打赏
  • 举报
回复
高手
lzsh0622 2009-11-27
  • 打赏
  • 举报
回复
把 if (RowID > -1)
换成: if (dataGridView1.CurrentRow.Index> -1)

lzsh0622 2009-11-27
  • 打赏
  • 举报
回复
楼主用的是CellContentClick 注意是内容,第二次才能选中内容.
szyjp 2009-11-27
  • 打赏
  • 举报
回复
呵呵,总算找到知已了!
hhc123 2009-11-27
  • 打赏
  • 举报
回复
这个问题我也有过啊,第一次点一下不行,点第二次就正确了不知道为什么

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧