本帖最后由 dexteryao 于 2021-5-8 11:06 编辑
SpreadJS V14 Update1中为数据透视表提供了统一事件 PivotTableChanged,当数据透视表发生变化时便会触发事件,并在事件中获取到变化的详情。
具体触发事件的行为以及可获取到的参数如下
- 排序(Sort)
触发时机:筛选对话框中选择排序
返回参数:
- {
- type: "sort";
- fieldName: fieldName;
- sortType: number;
- pivotTableName: string;
- }
复制代码
- 筛选(Filter)
触发时机:筛选对话框中筛选
返回参数:
- {
- type: "filter";
- fieldName: fieldName;
- filterInfo: any;
- pivotTableName: string;
- }
复制代码
- 展开合并(Collapse)
触发时机:点击透视表展开合并按钮
返回参数:
- {
- type: "collapse";
- fieldName: fieldName;
- newValue: any;
- oldValue: any;
- pivotTableName: string;
- item: string;
- }
复制代码
- 字段变化(Field Changed)
触发时机:在数据透视表面板中添加、删除和移动字段
返回参数:
- {
- type: "fieldChanged";
- fieldName: fieldName;
- newArea: number;
- oldArea: number;
- newIndex: number;
- oldIndex: number;
- pivotTableName: string;
- }
复制代码
- 值显示方式(Show Value As)
触发时机:右键菜单选择值显示方式
返回参数:
- {
- type: "showValueAs";
- newValue: any;
- oldValue: any;
- pivotTableName: string;
- }
复制代码
- 汇总值依据(Summarized Value By)
触发时机:右键菜单选择汇总值依据
返回参数:
- {
- type: "subtotalTypeChanged";
- newValue: any;
- oldValue: any;
- pivotTableName: string;
- }
复制代码
- 数据位置发生变化(DataPositionChanged)
触发时机:在数据透视表面板中移动、删除数据
返回参数:
- {
- type: "dataPositionChanged";
- newArea: number;
- oldArea: number;
- newIndex: number;
- oldIndex: number;
- pivotTableName: string;
- }
复制代码
- 视图变化(viewChanged)
触发时机:在数据透视表面板中选择改变视图
返回参数:
- {
- type: "viewChanged";
- viewName?: string;
- pivotTableName: string;
- }
复制代码
统一的事件接口方便开发集中处理用户操作,对于不同需求可以根据回调中的type,判断操作逻辑。
|
|