以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]页面底部状态栏显示统计数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139360) |
||||
-- 作者:hzpy -- 发布时间:2019/8/12 14:41:00 -- [求助]页面底部状态栏显示统计数据 求助老师们,想要向excel表一样,在狐表下底边栏显示当前窗口筛选的行数,可以吗? 就是把窗口当前绑定某一表当前所有行数,即表左侧的行数在底部显示出来
[此贴子已经被作者于2019/8/12 14:44:44编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/8/12 15:02:00 -- 帮助搜“statusbar” |
||||
-- 作者:hzpy -- 发布时间:2019/8/12 15:50:00 -- 哦,我想通过表PositionChanged事件实现,简单一些,写入代码: If e.Table.Current Is Nothing Then StatusBar.Message1 = "共" & e.Table.Rows.Count & "行" Else StatusBar.Message1 = "第" & (e.Table.Position + 1) & "行,共" & e.Table.Rows.Count & "行" End If
能够实现,但是筛选显示是会出错 有时候点表中的行才会显示,有时候不需要点击也能显示,有时候点击了显示的行是错误的
筛选TopicBar的TopicLinkClick代码如下: Case "全区在职村干部" Tables("村干部基本信息").Filter = "[转为退职] = False" Tables("村干部基本信息").Sort = "排序" Case "退职村干部" Tables("村干部基本信息").Filter = "[转为退职] = True" Tables("村干部基本信息").Sort = "排序" Case "村书记" Tables("村干部基本信息").Filter = "[职务排序] In (\'00\',\'01\') and [转为退职] = \'False\'" Tables("村干部基本信息").Sort = "排序" Case "村主任" Tables("村干部基本信息").Filter = "[职务排序] = 02 and [转为退职] = \'False\'" Tables("村干部基本信息").Sort = "排序" Case "村书记兼主任" Tables("村干部基本信息").Filter = "[职务排序] = 00 and [转为退职] = \'False\'" Tables("村干部基本信息").Sort = "排序" End Select
请老师指导 [此贴子已经被作者于2019/8/12 15:50:54编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/8/12 16:02:00 -- 我测试没有问题,上传实例说明 |
||||
-- 作者:hzpy -- 发布时间:2019/8/12 16:28:00 -- 请老师查看实例, 进入窗口点击“村干部信息表”后,筛选有关数据,状态栏显示出现的问题有: 1、无论筛选那个类别,都要点击第二行后,状态栏数据才会发生变化; 2、如果数据行只有一行,怎么点数据都不会刷新。如:筛选村书记兼主任类,表只有一行,上次的数据在状态栏不会改变。
|
||||
-- 作者:有点蓝 -- 发布时间:2019/8/12 16:38:00 -- 使用Message2 If e.Table.Current Is Nothing Then StatusBar.Message2 = "共" & e.Table.Rows.Count & "行" Else StatusBar.Message2 = "第" & (e.Table.Position + 1) & "行,共" & e.Table.Rows.Count & "行" End If 如果要使用Message1 ,这样处理一下 StatusBar.DefaultMessage = "" If e.Table.Current Is Nothing Then StatusBar.Message1 = "共" & e.Table.Rows.Count & "行" Else StatusBar.Message1 = "第" & (e.Table.Position + 1) & "行,共" & e.Table.Rows.Count & "行" End If |
||||
-- 作者:hzpy -- 发布时间:2019/8/12 16:44:00 -- 两种方法都不行,问题依旧,表PositionChanged事件看来不能实现 |
||||
-- 作者:有点蓝 -- 发布时间:2019/8/12 16:46:00 -- 我测试没有问题。
|
||||
-- 作者:hzpy -- 发布时间:2019/8/12 16:50:00 -- 有问题哦,您点击村书记兼主任进行筛选,然后在点击其他任一个进行筛选试试看呢,只有再次点击表第二行以下的其他行,才会刷新数据 |
||||
-- 作者:有点蓝 -- 发布时间:2019/8/12 17:05:00 -- 正常因为在项目刚刚打开的时候,并不会触发PositionChanged事件,而做筛选,由于表格一直选择的第一行,Position也没有变化,所以也不会触发事件。要么把代码改放到currentchanged,或者发一份到afteropenproject事件 |