找回密码
 立即注册

QQ登录

只需一步,快速开始

dexteryao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-5-8 11:06  /   查看:2737  /  回复:0
本帖最后由 dexteryao 于 2021-5-8 11:06 编辑

SpreadJS V14 Update1中为数据透视表提供了统一事件 PivotTableChanged,当数据透视表发生变化时便会触发事件,并在事件中获取到变化的详情。
具体触发事件的行为以及可获取到的参数如下

  • 排序(Sort)
    触发时机:筛选对话框中选择排序
    返回参数:

  1. {
  2.     type: "sort";
  3.     fieldName: fieldName;
  4.     sortType: number;
  5.     pivotTableName: string;
  6. }
复制代码

  • 筛选(Filter)
    触发时机:筛选对话框中筛选
    返回参数:

  1. {
  2.     type: "filter";
  3.     fieldName: fieldName;
  4.     filterInfo: any;
  5.     pivotTableName: string;
  6. }
复制代码

  • 展开合并(Collapse)
    触发时机:点击透视表展开合并按钮
    返回参数:

  1. {
  2.     type: "collapse";
  3.     fieldName: fieldName;
  4.     newValue: any;
  5.     oldValue: any;
  6.     pivotTableName: string;
  7.     item: string;
  8. }
复制代码

  • 字段变化(Field Changed)
    触发时机:在数据透视表面板中添加、删除和移动字段
    返回参数:
  1. {
  2.     type: "fieldChanged";
  3.     fieldName: fieldName;
  4.     newArea: number;
  5.     oldArea: number;
  6.     newIndex: number;
  7.     oldIndex: number;
  8.     pivotTableName: string;
  9. }
复制代码

  • 值显示方式(Show Value As)
    触发时机:右键菜单选择值显示方式
    返回参数:
  1. {
  2.     type: "showValueAs";
  3.     newValue: any;
  4.     oldValue: any;
  5.     pivotTableName: string;
  6. }
复制代码

  • 汇总值依据(Summarized Value By)
    触发时机:右键菜单选择汇总值依据
    返回参数:
  1. {
  2.     type: "subtotalTypeChanged";
  3.     newValue: any;
  4.     oldValue: any;
  5.     pivotTableName: string;
  6. }
复制代码

  • 数据位置发生变化(DataPositionChanged)
    触发时机:在数据透视表面板中移动、删除数据
    返回参数:


  1. {
  2.     type: "dataPositionChanged";
  3.     newArea: number;
  4.     oldArea: number;
  5.     newIndex: number;
  6.     oldIndex: number;
  7.     pivotTableName: string;
  8. }
复制代码

  • 视图变化(viewChanged)
    触发时机:在数据透视表面板中选择改变视图
    返回参数:

  1. {
  2.     type: "viewChanged";
  3.     viewName?: string;
  4.     pivotTableName: string;
  5. }
复制代码

统一的事件接口方便开发集中处理用户操作,对于不同需求可以根据回调中的type,判断操作逻辑。


0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部