Foxtable(狐表)用户栏目专家坐堂 → 求助:已经实现当行选中,反选其他行,但是多行选中时候,反选其他行就不能进行,只能空出当前行,要求空出所选择的多行!


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

主题:求助:已经实现当行选中,反选其他行,但是多行选中时候,反选其他行就不能进行,只能空出当前行,要求空出所选择的多行!

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:已经实现当行选中,反选其他行,但是多行选中时候,反选其他行就不能进行,只能空出当前行,要求空出所选择的多行!  发帖心情 Post By:2015/5/27 10:33:00 [只看该作者]

新建一保密技术防护专用系统安装登记表,并使用了复选框,

 

一按钮反选,代码如下:

For Each r As Row In Tables("保密技术防护专用系统安装登记表").GetCheckedRows
    If r("编号") <>"" Then
        r.Checked = False
        For Each r1 As Row In Tables("保密技术防护专用系统安装登记表").Rows
            If r1("编号") <>"" Then
                Dim A As Row=Tables("保密技术防护专用系统安装登记表").Current
                If r1("_Identify") <> a("_Identify") Then '如果不是本行
                    r1.Checked = True
                End If
            End If
        Next
    End If
Next

可以实现当前行是选中的情况下 反选其他所有行,但是却不能实现多行选中情况下,反选其他所有行,求纠正!

 

一按钮全选,代码如下:

For Each r As Row In Tables("保密技术防护专用系统安装登记表").Rows
    If r("编号") <>"" Then
        r.Checked = True
    End If
Next


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/27 10:38:00 [只看该作者]

 楼主,你怎么没有一点进步?思路很清晰啊。

 

 循环所有的行,r.Checked = Not r.Checked


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍) 楼主,你怎么没有一点进步?思...  发帖心情 Post By:2015/5/27 11:12:00 [只看该作者]

不好意思 之前没有操作类似经验 所以才学

For Each r1 As Row In Tables("保密技术防护专用系统安装登记表").Rows
    If r1("编号") <>"" Then
        If r1.Checked = Not r1.Checked  Then
            r1.Checked = True
        Else          
            r1.Checked = False
        End If
    Else
        r1.Checked = True
    End If
Next

代码如上 效果是能够清除所选择的多行了 但是没有反选所选择的行之外的其他所有行

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/27 11:15:00 [只看该作者]

For Each r1 As Row In Tables("保密技术防护专用系统安装登记表").Rows
    If r1("编号") <> "" Then
         r1.Checked = Not r1.Checked
    Else
        r1.Checked = True
    End If
Next

 回到顶部