请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Joestar.Xu SpreadJS 开发认证
超级版主   /  发表于:2025-5-28 14:40  /   查看:66  /  回复:0
随着报表插件的使用越来越深入,很多小伙伴有了新的需求,默认情况下,我们将字段列表拖到表格中时,这个单元格的类型默认是分组,如下图:



但是在某些情况下,我们希望默认的单元格类型是列表,如下图:



如果说要在添加好之后再手动一个一个地去修改,那未免太麻烦了,有没有一种方法可以在一开始就修改好呢?

有的,我们可以重写 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);
};

在这个函数中,我们首先获取到原来的模板单元格,然后判断这个单元格是否存在,如果存在,且类型是分组,并绑定了数据,那么我们就将类型修改为列表。

这样,我们就可以在一开始就将默认的单元格类型修改为列表了。

除此以外,我们还可以在这个函数中,根据需要去修改其他的属性,比如添加筛选,排序,条件格式等等。

这些都是在实际开发中,可能会遇到的一些需求,希望这些示例能够帮助到大家。

本帖子中包含更多资源

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

x

0 个回复

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