有网友告诉我,设置了datasource以后没有(用鼠标或键盘)选择过行,CurrentRow就是null,在选中了某个单元格或者行后,CurrentRow才不是null。
那么在没有(用鼠标或键盘)选择过行的时候我如何获得当前行(datagridview中左边有个黑箭头的那行)

解决方案 »

  1.   

    dataGridView1.RowHeadersVisible = false;
      

  2.   

    foreach DataGridViewRow row in SelectedRows
    {
      //TODO  row.Selected=false;
    }
      

  3.   

    TO:ojekleen9():
    SelectedRows是不对的,验证代码如下:
    if(dgwCustomer.Rows.Count > 0)
        MessageBox.Show("selected:" + dgwCustomer.SelectedRows.Count.ToString());
    显示selected:0
    我的想法是,不论是否点击dataGridView的一行,都应该有一个当前行(左边有个黑箭头的那行),SelectedRows恰恰相反是必须要点击才有。TO:LeoMaya(postreetboy), LeoMaya(postreetboy) 
    我想得到当前行你的如何工作我不太清楚,好像不可能得到当前行。
      

  4.   

    结论:
    SelectedRows是必须用鼠标或键盘选择的行.
    CurrentRow是当前行,我只是读的地方不对(设置了datasource立刻就读),所以它是Null,应该在dataGridView的datasource设置完后dataGridView相应的事件发生后(至于是哪些事件我还不知道),再写代码读CurrentRow就不是Null了,比如在一个按钮的事件中写代码.