spreadjs剪切时如何只剪切值不剪切格式、样式等(SJS-9473)
本帖最后由 Clark.Pan 于 2021-7-26 17:20 编辑spreadjs剪切时如何只剪切值不剪切格式、样式等
剪切的逻辑SpreadJS与Excel一样,是无法做到只剪切值不剪切样式的,原因是剪切顾名思义就像拿剪刀剪去这一片区域,然后贴在另一部分,本身就是全量的,所以设计原理就不需要在剪切的基础上再去区分值和样式。
如果想要实现您的需求,可以使用getArray和setArray,利用getArray方法将当前所选区域的值全部拿出来,然后通过setArray设置到指定区域中去。 如果是这种方式的话,就意味着我需要重写剪切方法,如下:
commandManager.register("xcut", {
canUndo: true,
execute: function (context, options, isUndo) {
debugger
var Commands = $3rd.spreadJS.Sheets.Commands;
// 在此加cmd
options.cmd = "xcut";
if (isUndo) {
Commands.undoTransaction(context, options);
return true;
} else {
Commands.startTransaction(context, options);
var sheet = StaticData.spread.getActiveSheet();
var ranges = sheet.getSelections();
Commands.endTransaction(context, options);
return true;
}
}
});
commandManager.setShortcutKey("xcut", $3rd.spreadJS.Commands.Key.x, true, false, false, false);
但是这样有两个问题:
1、我在粘贴的时候无法判断剪切版上的数据的来源,那么这个时候不知道该不该用setArray
2、重写的剪切,没有自带剪切的功能了,比如虚线等
请问一下该怎么解决了 1.这个如果您要绑定的ctrl+x上确实比较麻烦,要判断是内部粘贴还是外部粘贴,
2.虚线确实目前没有太好的办法。
我提个需求,当做后续的需求处理吧。 请问这个问题现在是什么进展? jyjc 发表于 2022-1-7 09:32
请问这个问题现在是什么进展?
该需求已通过评估,有望在后续版本实现,具体有实现版本后也会在本帖更新。 Derrick.Jiao 发表于 2022-1-7 10:07
该需求已通过评估,有望在后续版本实现,具体有实现版本后也会在本帖更新。
目前是否支持?如果支持如何配置? newAll 发表于 2023-6-7 12:43
目前是否支持?如果支持如何配置?
目前版本还不支持此功能,如果后续有相关开发计划,会在贴中通知您。:mj72: spreadjs v15.0.2版本,目前是否支持?如果支持如何配置? 宁静致远2022 发表于 2024-7-29 19:46
spreadjs v15.0.2版本,目前是否支持?如果支持如何配置?
您好,目前不支持选择性剪切,可以参考楼上的回复使用getArray和setArray的方式来实现。
页:
[1]