WinForm程序中DataGridView.SelectedRows[0]和DataGridView.CurrentRow有什么相同点和不同点?取当前选中行时应该选哪个?

解决方案 »

  1.   

    取当前选中行时应该选DataGridView.CurrentRow,
    DataGridView.SelectedRows可能是多行(当按下ctrl或shift键),DataGridView.SelectedRows[0]只是选中行的第一行,但不一定是当前行,当按下ctrl键时,最后一行才是当前行。
      

  2.   

    但我发现在程序中指定选中行后(dataGridView1.Rows[2].Selected=true;),
    dataGridView1.SelectedRows[0].Index值变化了,为2;
    但dataGridView1.CurrentRow.Index值没变化,仍为0;
      

  3.   

    DataGridView.SelectedRows[0]和DataGridView.CurrentRow 
    自己在帮助里看看吧  肯定还是有区别吧
      

  4.   

    SelectedRows表示的是在DataGridView中所选择的行,其中Count属性是表示的选择的行数
    CurrentRow表示的就是所选择的当前行,只有一行
    Rows表示的是DataGridView中所有的行数
    选中的第一行的索引: 
    this.dataGridView1.SelectedRows   [0].Index
      

  5.   

    DataGridView.SelectedRows[0]是存在,多重选择时,获取当前你选择的第一个行
    后者是 选取当前的行 为单一选择!
      

  6.   


    当前行与选中行并不是一回事,但用户在UI中操作时,总是用鼠标或键盘上下键来点选,因此当前行与选中行都同时改变,当前行总是最后选中的那一行。
    你上面是用编程方式选中一行,当前行当然是不会变的,因为当前行与选中行实际不是一回事,只是在UI操作时,两者变化是一致的。
      

  7.   

    dataGridView允许选择多行,假如你选择了多行,如row[5]至row[9],那么SelectedRows[0]就是row[5]但是currentRow有可能是row[5]至row[9]中的任一行.