Foxtable(狐表)用户栏目专家坐堂 → 较为完美的插入行的方法(第二次更新)


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

主题:较为完美的插入行的方法(第二次更新)

帅哥哟,离线,有人找我吗?
程兴刚
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/11/24 15:39:00 [只看该作者]

以下是引用mr725在2009-11-24 14:25:00的发言:
最后补上下面代码,就不用担心ID列看上去乱哄哄的了,且可以让你点鼠标点到手指发麻为止 :
For i As Integer = 0 To CurrentTable.Rows.Count-1
    CurrentTable(i,"ID") = i+1
next

不加这段代码,但你一直点击按钮增加行时,当达到12位小数时,就会乱套了~  ,

另外,列属性中最大小数位数,设置到超过12位数时,就会出错!!!~~~(我是设置到28位时出错,一路减少的12位及以下,还是出错??? 请检查一下
[此贴子已经被作者于2009-11-24 14:25:41编辑过]


        插入一行(添加),再删除一个其他行,连续反复操作N次呢?


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/24 15:40:00 [只看该作者]

以下是引用程兴刚在2009-11-24 15:39:00的发言:


        插入一行(添加),再删除一个其他行,连续反复操作N次呢?

那就在最前面也加上这段代码(够狠的了,呵呵):
For i As Integer = 0 To CurrentTable.Rows.Count-1
    CurrentTable(i,"ID") = i+1
next

[此贴子已经被作者于2009-11-24 15:42:00编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/11/24 15:56:00 [只看该作者]

你太狠了。
我是单独做一个按钮,定期整理ID列,实际使用的时候,ID列应该是隐藏的,有小数无所谓,因为这个列只是为了插入行,其余没有意义。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/24 16:14:00 [只看该作者]

以下是引用狐狸爸爸在2009-11-24 15:56:00的发言:
你太狠了。
我是单独做一个按钮,定期整理ID列,实际使用的时候,ID列应该是隐藏的,有小数无所谓,因为这个列只是为了插入行,其余没有意义。

图片点击可在新窗口打开查看   那是我狠啊,是人家要求嘛。

再说,你这个插入行的例子是目前最好的啦~ 


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


加好友 发短信 小学文化
等级:小狐 帖子:374 积分:2318 威望:0 精华:0 注册:2008/12/6 20:34:00
  发帖心情 Post By:2009/11/24 16:47:00 [只看该作者]

呵呵,好东东,收藏应用!

另:他爸,能不能在此基础上,加入“向上移动”或“向下移动”功能或代码呢?(很需要的)


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/24 16:53:00 [只看该作者]

以下是引用舜风在2009-11-24 16:47:00的发言:

呵呵,好东东,收藏应用!

另:他爸,能不能在此基础上,加入“向上移动”或“向下移动”功能或代码呢?(很需要的)

当前ID加减1.1后再排序?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/11/24 16:56:00 [只看该作者]

以下是引用舜风在2009-11-24 16:47:00的发言:

呵呵,好东东,收藏应用!

另:他爸,能不能在此基础上,加入“向上移动”或“向下移动”功能或代码呢?(很需要的)


自己做,很简单,提示:交换相邻行的ID值即可。


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


加好友 发短信 小学文化
等级:小狐 帖子:374 积分:2318 威望:0 精华:0 注册:2008/12/6 20:34:00
  发帖心情 Post By:2009/11/24 17:07:00 [只看该作者]

哎~没有现成的图片点击可在新窗口打开查看

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/11/24 18:21:00 [只看该作者]

有渔无鱼图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:148 积分:1665 威望:0 精华:0 注册:2008/9/1 19:40:00
  发帖心情 Post By:2009/11/24 19:14:00 [只看该作者]

另类插入行,Id号与行号一致,
Dim i As Integer = CurrentTable.Position
If i < 0 Then
    CurrentTable.AddNew()
Else
    Dim v1 As Double = CurrentTable.Current("ID")  '返回"ID"列的当前行的数值
    Dim v2 As Double
    Dim v3 As Double=CurrentTable.Rows(0)("ID")
    if v1 = v3
       v2=0
    Else
       v2 = CurrentTable.Rows(CurrentTable.Position - 1)("ID") '返回"ID"列的当前行上一行的数值
    End if
    CurrentTable.AddNew()("ID") = (v1+v2) / 2
End If
CurrentTable.Sort = "ID"
If CurrentTable.Count > 2 Then
   CurrentTable.Rows(0)("ID") = 1
   CurrentTable.Rows(1)("ID") = 2
   CurrentTable.Select(0,CurrentTable.Cols("ID").Index,CurrentTable.Rows.count-1,CurrentTable.Cols("ID").Index)
   Syscmd.Edit.SerialFill()
   If i = 0 Then
      With CurrentTable
          .Position = .Position + 1
      End With
   End  if
   CurrentTable.Select(CurrentTable.RowSel, CurrentTable.Cols(0).Index )  
End if
CurrentTable.Position =i '定位到该行'

 回到顶部
总数 32 上一页 1 2 3 4 下一页