我知道,你没有重新加载
你要实现这个功能最好不要拉控件
搞个方法(LoadDgv())去加载DataGridView 然后插入新行后重新执行刚才的方法(LoadDgv())``就没问题了你出错的地方是因为你是拉控件的 在窗体初始化的时候加载的,当你插入一行当然没错
但是再插入一行就肯定错了,明白了吗?

解决方案 »

  1.   

    应该 是在你绑定的数据源上加一行吧...dataRow dr=this.dataTalbe.newrow();
    this.dataTable.rows.add(dr);........
      

  2.   

    我没绑定有数据源,dataGridView只是用来输入数据,然后提交!
      

  3.   

    插入后必须结束dataGridView1的编辑状态,试试这个
    dataGridView1.Rows.Insert(dataGridView1.CurrentRow.Index);
    dataGridView1.endedit();
      

  4.   

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                LoadDatagrid();
            }        public DataGridView dgv;
            public void LoadDatagrid()
            {
                dgv = new DataGridView();
                dgv.Size = new Size(300,300);
                dgv.Location = new Point(0,0);
                //--------------------------添加列、输入数据等-----------------            //----------------------------------------------------------
                this.Controls.Add(dgv);
            }        private void button1_Click(object sender, EventArgs e)
            {
                //-----------数据操作、增加删除等``------------
                //--------------------------------------
                LoadDatagrid();
            }
        }