以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:插入行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77208)

--  作者:yancheng
--  发布时间:2015/11/12 20:27:00
--  请教:插入行?
Dim strs() As String = {"清单指引","合同清单"}
For i As Integer = 0 To strs.Length-1
    If Forms(strs(i)).opened Then
        Dim n As Integer = Tables(strs(i)).Position
        Dim tbl As Table = Tables("添加清单_Table3")
        If tbl.Current IsNot Nothing Then
            Dim dr As Row = Tables(strs(i)).addNew()
            dr("子目编码") =tbl.Current("子目编码")
            dr("项目特征描述") =tbl.Current("项目特征描述")
            dr.Move(n + 1)
        End If
        Return
    End If
Next

上面的代码执行时,我的TABLE是排序的。提示说:在排序状态下不能:移动行。
请问,怎么能在排序状态下,我在当前行新增一行。位置在当前行的后面。

还有个问题:
上面的代码,是不是可以直接用INTERNEW,插入行。就行了?
[此贴子已经被作者于2015/11/12 20:33:16编辑过]

--  作者:大红袍
--  发布时间:2015/11/12 20:53:00
--  

呃,排序的状态下,不能插入行的。

 

要不你先保存排序,然后再插入

 

For Each r As Row In Tables("表A").rows
    r.DataRow.baserow("_Sortkey") = r.index
Next

Tables("表A").Sort = ""
Dim n As Integer = Tables("表A").Position

Dim nr As Row = Tables("表A").AddNew
nr.Move(n+1)