删除时右侧单元格左移如何用代码实现(SJS-18118)
本帖最后由 Lynn.Dou 于 2023-5-5 09:11 编辑您好,
删除时右侧单元格左移 等属于designer的功能,SpreadJS并没有相关接口。
designer封装了 Designer.deleteLeftCells 命令,参考下方代码:
spread.commandManager().execute({cmd:"Designer.deleteLeftCells",sheetName:"Sheet1", selections:spread.getActiveSheet().getSelections()});
注意selection要传递正确。
附件为示例demo,供参考。
只能用getSelections嘛,getrange可以嘛
runergy 发表于 2023-4-26 15:43
只能用getSelections嘛,getrange可以嘛
我在vue中用了相同的方法,可以取到getSelections的信息,但是就是删除不了。
<template>
<div>
<button @click="deleteLeftCells">右侧单元格左移</button>
<div id="excebox" class="excebox"></div>
</div>
</template>
<script>
import Vue from "vue";
import '@grapecity/spread-sheets-resources-zh';
GC.Spread.Common.CultureManager.culture("zh-cn");
import "@grapecity/spread-sheets-vue";
import GC from "@grapecity/spread-sheets";
export default {
mounted() {
const spread = new GC.Spread.Sheets.Workbook(
document.getElementById("excebox"), {
sheetCount: 1 //sheet的页数
}
);
const sheet = spread.getActiveSheet();
sheet.setValue(1, 1, 1);
sheet.setValue(1, 2, 2);
sheet.setValue(1, 3, 3);
sheet.setSelection(1, 2, 1, 1);
this.spread = spread;
},
methods: {
deleteLeftCells() {
this.spread.commandManager().execute({
cmd: "deleteLeftCells",
sheetName: "Sheet1",
selections: this.spread.getActiveSheet().getSelections(),
});
},
},
};
</script>
您仔细看下示例代码,cmd应为 ”Designer.deleteLeftCells“,并且前面有提到,这是designer的功能,SpreadJS原生上并没有此接口,所以需要引入designer的相关资源。 使用 Designer 后有工具栏,如何隐藏工具栏部分
通过css方式修改工具栏dom的display为none,示例如下:
.gc-designer-container .ribbon {
display: none;
}
公示栏部分同理 使用下方单元格上移,使用方法为 spread.commandManager().execute({
cmd: "Designer.deleteUpCells",
sheetName: "电池片库存分析-悦达",
selections: sheet2.getSelections()
});但是结果删除行数过多时,删除的行会串行,
下面使用菜单的功能也是一样的效果,会串行。
如何解决这个问题
根据电话沟通,猜测是总行数设置的问题,实际上删除已经正常触发并删除内容了,只是下方可能存在其他内容,但因为总行数的限制没有显示全,在删除后将下方的内容顶上来了。 文件
页:
[1]
2