找回密码
 立即注册

QQ登录

只需一步,快速开始

afr2022

初级会员

23

主题

111

帖子

410

积分

初级会员

积分
410
afr2022
初级会员   /  发表于:2022-6-10 14:51  /   查看:3984  /  回复:25
10金币
本帖最后由 afr2022 于 2022-6-10 14:53 编辑

我想在透视表中点击某个单元格之后,获取当前的位置(rowindex,columnindex)并记录下来,方便焦点丢失之后重新回到这个位置。

最佳答案

查看完整内容

参考帮助手册~ PivottableClick事件 - 活字格V7帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn) PivotTableEventParameter类 - 活字格V7帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn)

25 个回复

倒序浏览
最佳答案
最佳答案
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-6-10 14:51:33
来自 2#
回复 使用道具 举报
afr2022
初级会员   /  发表于:2022-6-10 16:28:28
3#
David.Zhong 发表于 2022-6-10 16:16
参考帮助手册~
PivottableClick事件 - 活字格V7帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn)
Pivot ...

我如何获取这个类的对象呢,这个文档看的不是很明白
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-6-10 18:51:07
4#
大佬,给透视表设置一个单元格名称pivottablecell,然后在页面加载时命令中执行下面这段JS,
  1. var page = Forguncy.Page;
  2. //获取页面中名为pivottablecell的数据透视表
  3. var pivottable = page.getCell("pivottablecell");

  4. page.bind("pageDefaultDataLoaded",function () {
  5.     //绑定pivottablecell的事件
  6.     pivottable.bind("pivottableClick", function (param1, pivottableSelectedInfo) {
  7.         //弹出警告框
  8.         alert("click");
  9.     });
  10. });
复制代码



pivottableSelectedInfo里就是大佬想要的一些信息~


本帖子中包含更多资源

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

x
回复 使用道具 举报
afr2022
初级会员   /  发表于:2022-6-13 09:16:21
5#
David.Zhong 发表于 2022-6-10 18:51
大佬,给透视表设置一个单元格名称pivottablecell,然后在页面加载时命令中执行下面这段JS,

我试了一下,可以拿到点击位置的信息,但是我在点击按钮之后,透视表对应的原表格中数据已经刷新了,透视表好像只会强制回到(0,0)位置,这个是不能修改的吗
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-6-13 09:21:09
6#
数据表刷新肯定是会触发数据透视表重新加载鸭~怕是不好弄了。
回复 使用道具 举报
afr2022
初级会员   /  发表于:2022-6-13 10:50:20
7#
David.Zhong 发表于 2022-6-13 09:21
数据表刷新肯定是会触发数据透视表重新加载鸭~怕是不好弄了。

啊,这样不行的吗?有没有其他办法可以解决呢?
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-6-13 12:10:42
8#
您好,你点击的时候已经获取到了点击的焦点的位置,那可以将这个位置记录下,在数据刷新之后使用下面的代码重新设置一下透视表的焦点即可
  1. var spread = Forguncy.Page.getCell("pivot")._pageCell.cellType._spread;

  2. spread.getActiveSheet().setActiveCell(0,0);
复制代码

7.0 按钮控制表格数据更新
https://gcdn.grapecity.com.cn/fo ... 2&fromuid=64322
(出处: 葡萄城产品技术社区)


回复 使用道具 举报
afr2022
初级会员   /  发表于:2022-6-13 13:43:58
9#
Lay.Li 发表于 2022-6-13 12:10
您好,你点击的时候已经获取到了点击的焦点的位置,那可以将这个位置记录下,在数据刷新之后使用下面的代码 ...
  1. window.localStorage.removeItem("row")
  2. window.localStorage.removeItem("col")

  3. var page  =  Forguncy.Page
  4. var pivot = page.getCell("pivot")
  5. var spread =pivot._pageCell.cellType._spread;

  6. //spread.getActiveSheet().setActiveCell(0,3);

  7. page.bind("pageDefaultDataLoaded",function () {
  8.     //绑定pivottablecell的事件
  9.     pivot .bind("pivottableClick", function (param1, pivottableSelectedInfo) {
  10.         //弹出警告框
  11.         window.localStorage.setItem("row",pivottableSelectedInfo.row)
  12.         window.localStorage.setItem("col",pivottableSelectedInfo.col)
  13.     });
  14. });
复制代码


  1. var page  =  Forguncy.Page
  2. var pivot = page.getCell("pivot")
  3. var spread =pivot._pageCell.cellType._spread;

  4. alert(window.localStorage.getItem("row"))
  5. alert(window.localStorage.getItem("col"))

  6. spread.getActiveSheet().setActiveCell(
  7. window.localStorage.getItem("row")-1
  8. ,window.localStorage.getItem("col")-1)

  9. window.localStorage.removeItem("row")
  10. window.localStorage.removeItem("col")
复制代码


这是我的两段代码 前面是存下来 后面是在数据库更新操作后执行的复位,但是没起到作用是为什么呢?


回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-6-13 14:44:38
10#
您好,看您这个代码应该没有什么问题哈,我本地使用活字格中的单元格作为存储上一次所选透视表的坐标值是可以正常使用的哈,给您做了一个demo,您可以参考参考

本帖子中包含更多资源

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

x
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部