随着报表插件的使用越来越深入,很多小伙伴有了新的需求,默认情况下,我们将字段列表拖到表格中时,这个单元格的类型默认是分组,如下图:
但是在某些情况下,我们希望默认的单元格类型是列表,如下图:
如果说要在添加好之后再手动一个一个地去修改,那未免太麻烦了,有没有一种方法可以在一开始就修改好呢?
有的,我们可以重写 setTemplateCell 方法,如下:
const originSetTemplateCellFunc =
GC.Spread.Report.TemplateSheet.prototype.setTemplateCell;
GC.Spread.Report.TemplateSheet.prototype.setTemplateCell = function (
row,
col,
templateCell
) {
const oldTemplateCell = this.getTemplateCell(row, col);
if (
!oldTemplateCell &&
templateCell.type === "Group" &&
templateCell.binding
) {
templateCell.type = "List";
}
originSetTemplateCellFunc.call(this, row, col, templateCell);
};
在这个函数中,我们首先获取到原来的模板单元格,然后判断这个单元格是否存在,如果存在,且类型是分组,并绑定了数据,那么我们就将类型修改为列表。
这样,我们就可以在一开始就将默认的单元格类型修改为列表了。
除此以外,我们还可以在这个函数中,根据需要去修改其他的属性,比如添加筛选,排序,条件格式等等。
这些都是在实际开发中,可能会遇到的一些需求,希望这些示例能够帮助到大家。
|