用DataView编辑数据时不能用e.item.itemindex的,我刚学这个,也不知道怎么用Dataview,只好直接更新DataSet。

解决方案 »

  1.   

    看了半天,不明白!
    1.新的记录有没有添加到表中支????
    2.到底是个什么逻辑:
    初始时datagrid有一个可添加的行。
    添加时,把数据存入datatable;
    更新dataview.
    更新datagrid.
    好,datatable和dataview关联是什么。如果你只是向datagird中增加新的行,哪么有一个办法保证你万无一失:
    把数据添加到datatable中的最后一行中,再加一行,最后更新datagrid.
      

  2.   

    to wolve() :
    其实我罗里罗嗦说一大堆,就是要实现一个功能,就是往一个datagrid添加一个新行,要求新行在datagrid的第一行(不是最后一行),然后对这一行进行修改保存,如何实现,给个思路如何?谢谢!
      

  3.   

    另外,往datagird中增加新的行可以指定添加的位置吗,比如添加到第2,3,或者任意行?
      

  4.   

    早说,是这么回事啊,好办!往datagird中增加新的行可以指定添加的位置吗,比如添加到第2,3,或者任意行?
    >>不使用dataview,直接使用datatable.进行绑定。
    Public Sub InsertAt( _
       ByVal row As DataRow, _
       ByVal pos As Integer _
    )
    onupdata code:Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand        Dim kmText As TextBox = CType(e.Item.Cells(0).Controls(0), TextBox)
            Dim raw As DataRow = MYTable.NewRow
            raw("km") = ""
            raw("id") = newxh("km")
            MYTable.Rows.InsertAt( row,pos As Integer)         Me.Mydatabind()    End Sub
      

  5.   

    可以把后台的数据DataTable在相应的地方加上一行,然后绑定到DataGrid,并且让这一行是可以编辑的,最后保存就可以了