dataGridview对已设 AllowUserToAddRows= true,
dataGridview有一个单元格,双击之后,弹出一个查询帮助窗口,选中一个查询结果后,返回到该单元格上,此时要求在Datagridveiw最后一行新加一行
重写Datagridveiw 
 protected override void OnCellDoubleClick(DataGridViewCellEventArgs e)

          ....
        if (e.ColumnIndex == 0)
         {
              QueryForm form = new QueryForm();
              form.ShowDialog(this);
              ......
              this[0, e.RowIndex].Value = form.ReturnValue;  
              this.Rows.Add();   
    }
 }上段代码虽能实现,但是新加的行,不出现在最后一行,而是向前插。而且每选一次都向前插一行。另外,点当前行的其他列也在最后一行新增一行。不符合我的要求。
我的要求:第一次双击单元格选值后新加的行放在最后一行,如果发现选错,重新双击当前单元格选值后,此时不新加行(因为已经有新加行),而且要求点当前行的其他列也不在最后行新增一行.

解决方案 »

  1.   

    恩,我新增了一行,看了,都是在最后一行.
    不在新增的话,你可以为新增行的每个cell的tag的添加值,如"added"
    新增的时候判断一下tag是否有值就可以了
      

  2.   

                  this[0, e.RowIndex].Value = form.ReturnValue;  
                  this.Rows.Add();  
    --------------------------------------
    你自己本来就是指定的将返回的数据放到当前行,然后增加空行,这样的效果就是在前面加了个新行(其值为选择后返回的)。
    这样改改看:
                   int index=this.Rows.Add();
                 this[0,index].Value=form.ReturnValue;