DataGridView有一个特殊的行,
在AllowUserToAddRows=True的时候,这一行会出现在DataGridView的底部,
他的属性IsNewRow=True
这一行,不会因为排序而改变位置,始终位于DataGridView的底部(最后一行),
我现在希望将此行置位(第一行),
大家有什么办法吗?
1、这一行非DataSouce里的DataRow,我希望脱离DataSource,直接通过控件控制这一行。
不少人都使用DataTable.NewRow(),然后倒序排列,使新行置顶。
而这样产生的行,只是普通的行,会受到DataGridView的列排序影响,这种方法我觉得不可取。2、我希望DataGridView达到这样的属性效果,NewRowPosition = Top,
使得DataGridView在RowAdd的时候,自动将NewRow提升到Top位置。

解决方案 »

  1.   

    AllowUserToAddRows=false
    DataGridView.Rows.Add()默认就是追加在最后
    dataGridView.Rows.Insert(rowsIndex,new object[]{"",""} );
      

  2.   


    提示错误:当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行。
      

  3.   

    提示错误:当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行。
      

  4.   


    没有用,Insert之后,重新绑定会使得DataGridView的数据重新按照DataSource刷新,从而NewRow就不见了。
      

  5.   

    用两个DataGridView
    上面的一个绑一个允许添加但不返回任何有效行的DataView
    下面的一个绑一个不允许添加行的DataView
      

  6.   

    AllowUserToAddRows=false
    DataGridView.Rows.Add()默认就是追加在最后
    dataGridView.Rows.Insert(rowsIndex,new object[]{"",""} );
      

  7.   

    你表里面做一个序号的列 每增加的时候是最好一条序号.绑定的时候sql按desc来不就可以了