Foxtable(狐表)用户栏目专家坐堂 → 早期版本的复选框问题


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

主题:早期版本的复选框问题

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


加好友 发短信
等级:六尾狐 帖子:1273 积分:7906 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2023/5/30 15:21:00 [显示全部帖子]

我之前有解决方法,可以参考下

'需求:点击按钮,可以反选所有的行

'思路:
'1用ForEach遍历行去改Check状态,有bug,要使用这种切换Postion的方法改Check状态
'2但是切换Position,会触发CurrentChanged事件,造成性能影响,所以用SystemReady中止事件执行

Dim t As Table = Tables("MHUserInfo") '根据情况改成你的表名

t.StopRedraw '停止表绘制,因为行多会闪烁
SystemReady = False '停止系统事件,这是狐表特有的函数,可以停止系统所有事件的运行

Try
    For i As Integer = 0 To t.Rows.count-1
        t.Position = i
        If t.Rows(i).Checked Then
            t.Rows(i).Checked = False
        Else
            t.Rows(i).Checked = True
        End If
    Next    
Catch ex As Exception
    MessageBox.show("程序发生错误,请联系技术员")
End Try

SystemReady = True '启动系统事件
t.ResumeRedraw '启动表绘制

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


加好友 发短信
等级:六尾狐 帖子:1273 积分:7906 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2023/5/30 17:32:00 [显示全部帖子]

加临时列就太麻烦了,在原来基础里选完更简单

 回到顶部