Foxtable(狐表)用户栏目专家坐堂 → 快捷菜单中删除多行


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

主题:快捷菜单中删除多行

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
快捷菜单中删除多行  发帖心情 Post By:2017/10/21 15:27:00 [只看该作者]

对快捷菜单中的行删除作了以下修改,希望删除多行该怎么修改?

For i As Integer = CurrentTable.TopPosition To CurrentTable.BottomPosition
    Dim r As Row = CurrentTable.Current
    Dim msg As String = "D#" & CurrentTable.DataTable.name & "#" & r("_Identify")
    r.Delete()
    CurrentTable.DataTable.Save()
    For Each bd As QQBuddy In QQClient.Buddies
        If bd.Online Then
            QQClient.Send(bd.name, msg)
        End If
    Next
Next


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/21 15:44:00 [只看该作者]

Dim msg As String = "D#" & CurrentTable.DataTable.name & "#"
For i As Integer = CurrentTable.BottomPosition To CurrentTable.TopPosition Step -1
    Dim r As Row = CurrentTable.Rows(i)
    msg &= r("_Identify") & ","
    r.Delete()
Next
msg = msg.Trim(",")
msgbox(msg)
CurrentTable.DataTable.Save()
For Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
    End If
Next

注意由于是一次性发送了所有的删除行的id,而不是一行发送一条消息,所以接收事件要做相应的改动

ElseIf msg.StartsWith("D#") Then '表示删除了行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
         DataTables(pts(1)).RemoveFor("[_Identify] in ("  & pts(2) & ")") '移除行
    End If
End If

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2017/10/21 15:47:00 [只看该作者]

ElseIf msg.StartsWith("D#") Then '表示删除了行
这行代码是否是改为
If msg.StartsWith("D#") Then '表示删除了行

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/21 16:01:00 [只看该作者]

代码来自这里:http://www.foxtable.com/webhelp/scr/3006.htm

根据自己实际情况参考使用

 回到顶部