我想在点击添加按钮后,DataGridView最底下新增一空行,并且把光标定位到这一行。用什么方法比较好?
现在出现一个情况,我做了2个窗体,分别用BindingSource来绑定数据,第一个数据源光标可以定位到新增空行,但第二个数据源的却不会定位到新增空行,只会定位到现在选中行。我用的Position属性,Find("guid", guid)方法。请教高手解答。

解决方案 »

  1.   

    this.dataGridView1.CurrentCell = this.dataGridView1.Rows[this.dataGridView1.Rows.Count - 1].Cells[0];
      

  2.   

    谢谢,不过我是用这个代码,按照你的可能不太适用  myBindingSource.Position = myBindingSource.Find("guid", guid)我的意思是第一个数据源的BindingSource按我上面写的可以定位光标到新增的空行,而同样写的第二个数据源却不行。不知道是什么原因
      

  3.   

    用1楼的方法可以实现你的要求,我一般这么做的。你提供的方法没用过,但是如果单一个可以成功的话,两个也应该是一样的。2个窗体,分别用BindingSource来绑定数据,
    你检查一下是不是设第二个窗体的BindingSource时,设成第一个的了。
      

  4.   

    this.dataGridView1.Rows[this.dataGridView1.Rows.Count - 1].Cells[0].select();
      

  5.   

    this.dataGridView1.CurrentCell = this.dataGridView1.Rows[this.dataGridView1.Rows.Count - 1].Cells[0];
      

  6.   

    this.dataGridView1.CurrentCell = this.dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.Rows.Count - 1];
    这样应该行,我一直这么用的.
      

  7.   

    在dataGridView不重新排序的前提下,这样是可以的,但我有排序的需要,所以不适用这个方式
      

  8.   

    在最下面加上dataGridView1.Focus();
    SendKeys.Send("^{End}{Home}");
      

  9.   

    this.dataGridView1.CurrentCell = this.dataGridView1.Rows[this.dataGridView1.Rows.Count - 1].Cells[0];
      

  10.   

    解释一下,我做了2个窗体,也可以说是2个项目,每个窗体绑定一个数据源(这2个数据源是不同的),
    第一个窗体使用myBindingSource.Position = myBindingSource.Find("guid", guid)光标可以定位到新增的空行,第二个窗体也是这个代码,只是BindingSource不同就不能定位了。
    我替换了数据源也不行,真无语啊