找回密码
 立即注册

QQ登录

只需一步,快速开始

scliudong

高级会员

29

主题

175

帖子

1278

积分

高级会员

积分
1278
scliudong
高级会员   /  发表于:2023-1-30 12:53  /   查看:2843  /  回复:8
本帖最后由 scliudong 于 2023-1-30 13:16 编辑

分页导航是最常用的插件,但默认和EL的分页导航“每页显示行数”都只能填固定值,以每页显示20行为例,这样的设置在低分屏时表格看上去不错,但高分屏时,表格行内容只占了半屏,看上去很小气,能不能给搞成可通过单元格或公式动态改变参数?
思路是这样的:
1、将“每页显示行数”参数栏设置成可获取单元格值或可仅能公式动态填入参数值;


2、设置个变量,或者找个隐藏的辅助列,页面加载时,通过“页面加载时命令”用浏览器高度关键字%ViewportHeight%将浏览器高度写入单元格或赋值给变量;
3、页面载入时获取变量,或页面大小改变时刷新浏览器获取当前变量(不知道手动改变浏览器大小时怎么在不刷新状态下动态获取高度,没试母版页),把这个变量值作为分页参数;
这样不管屏幕分辨率是多少,表格行数均可自适应(发现行高/30基本可得到合适的每页显示行数,可细调除数)。

附一个工程文件:








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

8 个回复

倒序浏览
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2023-1-30 14:25:03
推荐
关于设置分页每页数量,如果是内置分页导航按钮是不是可以使用内置的 API 实现:
usePaginationDisplay方法 - 活字格V8帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn)

如果是 EL-分页是不是可以考虑使用分页的操作单元格命令去实现:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Aa金砂
高级会员   /  发表于:2023-1-31 20:29:22
板凳
可用操作:如果能获取当前分页 数值 就好了
回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2023-2-1 09:43:32
地板
虽然现在没有与获取当前分页信息的单元格操作,不过和表格相关的一些功能活字格提供了内置的 API,比如获取分页信息:
getPaginationInfo方法 - 活字格V8帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn

大佬可以通过这个 API 获取当前分页的一些信息,这个 API 对分页导航按钮和EL-分页都是有效的。
回复 使用道具 举报
scliudong
高级会员   /  发表于:2023-2-1 15:08:28
5#
Simon.Sun 发表于 2023-1-30 14:25
关于设置分页每页数量,如果是内置分页导航按钮是不是可以使用内置的 API 实现:
usePaginationDisplay方 ...


谢谢!
按二楼方法搞出来了,继续研究细化,谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +5 收起 理由
Simon.Sun + 5 赞一个!

查看全部评分

回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2023-2-1 16:54:33
6#
回复 使用道具 举报
飞天
中级会员   /  发表于:2024-2-2 17:51:25
7#
行数=ROUNDDOWN(屏高动态值/36.0)

我发现这个计算出来行数,不论除数怎么调,都只是在一定的高度内效果比较好,用户显示器与开发人员差别越大,误差就越来越大了

如果表格是在组件当中的话,这样设置误差大了天去
回复 使用道具 举报
true
中级会员   /  发表于:2024-2-3 16:55:45
8#
确实,楼主这个需求很合理啊,我开发是27寸屏幕,每页显示行数肯定很多,客户屏幕有大有小,表格显示不满,空白很多
回复 使用道具 举报
Patrick.Zhu
银牌会员   /  发表于:2024-2-4 17:24:58
9#
可以参考上面的推荐方案,使用getPaginationInfo方法来实现
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部