for (int i = 0; i < 1000; i++)
            {
                dataGridView1.Rows.Add();
                dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ID"].Value = i + 1;
            }
这样datagridview会等到所有行添加完之后才显示。
我希望得到每次添加结束之后都可以马上显示到datagridview上,请问怎么操作?谢谢!

解决方案 »

  1.   

    原来用refresh就可以了装载错了所以没看到效果,不过现在我有个新的问题,就是我想在单独的线程里边装载数据,但是装在之后,我发现datagridview的右侧的滚动条不能用了,是什么原因?
    Thread t = new Thread(new ThreadStart(FunMsg));
                t.Start();private void FunMsg()
    {
    dataGridView1.Rows.Add();
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ID"].Value = i + 1;
    dataGridView1.Refresh();
    }
    能帮忙指导下么,谢谢
      

  2.   

    add后面加一句 Application.DoEvents();
      

  3.   

    我在dataGridView1.Rows.Add();后和FunMsg方法最后都加了Application.DoEvents();
    还是没有效果
    对了我的FunMsg是:
    private void FunMsg()
            {
                for (int i = 0; i < 100; i++)
                {
                    dataGridView1.Rows.Add();
                    int count = dataGridView1.Rows.Count;
                    dataGridView1.Rows[count - 1].Cells["ID"].Value = i;                //dataGridView1.Refresh();
                    this.Refresh();
                }
                Application.DoEvents(); // 刚加的
            }刚刚写错了。。请指点,谢谢