日期:2014-05-18  浏览次数:20853 次

datagridview 中的 selectedrows[i],其中的i,是从选中行的上边开始算,还是从下面算呀?
datagridview 中的 selectedrows[i],其中的i,是从选中行的上边开始算,还是从下面算呀?


比如我用鼠标选中10行,即将15行拖蓝了。
然后执行下面的语句。
代码的意思是,从第5行第5列取单元格内容。
问题是,为何这个第5行,每次都是从下边开始算呀,即显示的是倒数第5行第5列的内容,真是怪了。(索引是基于0的)

MessageBox.Show(DataGrid1.SelectedRows[5].Cells[5].Value.ToString());



------解决方案--------------------
SelectedRows[5]实际上第六行吧
------解决方案--------------------
SelectedRows[5]是表的第五行。你的问题我没看明白,什么叫“比如我用鼠标选中10行,即将15行拖蓝了。”???
------解决方案--------------------
SelectedRows[5]是表的第六行,打错了
------解决方案--------------------
为什么不在监视里面看呢?
------解决方案--------------------
SelectedRows中的行的顺序不一定与DataGridView中的行的顺序一致的。
------解决方案--------------------
重大发现,真的是倒着数的。断点看一下dataGridView1.SelectedRows的items就发现是倒序排列的。
------解决方案--------------------
老实说,你这样一次选中好多行的我没试过,我只是写事件,选中某行就得到那行的某个数据。
.net是无界的,自己慢慢探索吧