日期:2014-05-17  浏览次数:20945 次

datagridview怎么指定选中行
因为datagridview数据过多,如用户修改数据后,如何指定选定行


dataGridView1.Rows[i].Selected = true;

我用这个方法是选中了,但没有跳转到在窗口上,如窗口只显示50条数据,修改第70条数据时,重新绑定数据后,第70条是选中的,但窗体没有跳转到70条还是停在第一条上,如果直接转到70条上呢?

如果加一行
dataGridView1.CurrentCell = dataGridView1.Rows[rowNumbers].Cells[0];
这个会报错"Current cell cannot be set to an invisible cell."

------解决方案--------------------
楼主的题目应该改成“datagridview修改数据后自动跳到原来的页数并选中被修改行”。
解决办法:
1、把编辑的该行所在的页数和在datagridview中所在的行的索引放到俩个隐藏的label(label初始文本都设成0)中,点击保存时刷新datagridview,重新绑定数据源的时候获取label中的值,把绑定时的页码替换掉:
编辑按钮中的事件中添加:
lable1.text=datagridview.selectrowindex;
label2.text="当前页";
2、编辑保存按钮事件重新绑定数据源时肯定有个参数是指定某一页的,用lable1.text替换掉就是显示当前页
数据绑定后,
int index=Convert.ToInt32(label1.Text);
this.dataGridView1.Rows[index].Selected = true;//选中该行
------解决方案--------------------
探讨

楼主的题目应该改成“datagridview修改数据后自动跳到原来的页数并选中被修改行”。
解决办法:
1、把编辑的该行所在的页数和在datagridview中所在的行的索引放到俩个隐藏的label(label初始文本都设成0)中,点击保存时刷新datagridview,重新绑定数据源的时候获取label中的值,把绑定时的页码替换掉:
编辑按钮中的事件中添加:
lable1.text=d……

------解决方案--------------------
我也碰到这问题了,发现这么简单的问题,没有一个人回答对的

6楼说的对吗?

确实是被选中了,但第一行也是被选中了,这样就是有两行都被选中了!
------解决方案--------------------
点击时记录行号,然后刷新更改后再定位到行就可以了。第一行可以清掉默认选择行。