dexteryao 发表于 2021-5-8 11:06:37

SpreadJS V14 Update1 新特性 - 数据透视表 - 事件增强

本帖最后由 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,判断操作逻辑。


页: [1]
查看完整版本: SpreadJS V14 Update1 新特性 - 数据透视表 - 事件增强