Foxtable(狐表)用户栏目专家坐堂 → [分享]插入行的代码


  共有16902人关注过本帖树形打印复制链接

主题:[分享]插入行的代码

帅哥哟,离线,有人找我吗?
ssqq
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:117 积分:1003 威望:0 精华:1 注册:2008/12/2 22:51:00
[分享]插入行的代码  发帖心情 Post By:2009/11/23 21:48:00 [显示全部帖子]

Dim dt As String = CurrentTable.Name
Dim cname As String = "InsertRowTemp"
If DataTables(dt).DataCols.Contains(cname) = False Then
   Datatables(dt).DataCols.Add(cname,GetType(Double))
   Tables(dt).Cols(cname).Visible = False
End If
Dim ds As Integer = DataTables(dt).DataRows.Count
Dim r As Integer
For r = 0 To ds-1
    Tables(dt).Rows(r)(cname) = r+1
Next
Dim i As Integer = CurrentTable.Position
If i < 0 Then
    CurrentTable.AddNew()
ElseIf i = 0 Then
    Dim v As Double = CurrentTable.Current(cname) - 1
    CurrentTable.AddNew()(cname) = v
Else
    Dim v1 As Double = CurrentTable.Current(cname)
    Dim v2 As Double = CurrentTable.Rows(CurrentTable.Position - 1)(cname)
    CurrentTable.AddNew()(cname) = (v1+v2) / 2
End If
CurrentTable.Sort = cname
CurrentTable.Position = i

 回到顶部
帅哥哟,离线,有人找我吗?
ssqq
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:117 积分:1003 威望:0 精华:1 注册:2008/12/2 22:51:00
  发帖心情 Post By:2009/11/24 9:10:00 [显示全部帖子]

插入排序是按照隐藏列“InsertRowTemp”的顺序排列,如果在打乱前没有再次插入,可使用此字段恢复排序。表中唯一可以无限向前恢复的字段就是_identify,但此字段是按照添加次序排序,不能保存插入顺序。插入顺序本来就是为了方便手工排序而定义的功能,不适合代码再次恢复排序

 回到顶部