Ellia.Duan 发表于 2024-7-29 16:20:11

SpreadJS状态

本帖最后由 Ellia.Duan 于 2024-8-30 10:40 编辑

一、状态
SpreadJS有三种状态,分别是就绪(Ready) ,输入(Enter) ,编辑(Edit )。这三种都可以通过状态栏来查看。

当然,也可以通过sheet.editorStatus()来判断
let statusnow= sheet.editorStatus()
if (statusnow === GC.Spread.Sheets.EditorStatus.ready) {
               console.log("Ready");
            } else if (statusnow === GC.Spread.Sheets.EditorStatus.enter) {
               console.log.text("Enter");
            } else if (statusnow === GC.Spread.Sheets.EditorStatus.edit) {
               console.log.text("Edit");
            }
二、编辑模式
SpreadJS 还有一个编辑模式:如果处于编辑模式,则状态为Enter或Edit;如果未处于编辑模式,则状态为Ready。
可以用sheet.isEditing()来判断,如果返回ture则表示当前处于Enter或Edit状态,如果返回false , 则处于Ready状态。

三、取消编辑模式
https://demo.grapecity.com.cn/sp ... Worksheet#isediting
sheet.endEdit(true);
四、开始编辑模式
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Worksheet#startedit
sheet.startEdit(true);

五、始终编辑模式
有一部分用户在移动端输入数据时,会唤起键盘,当输入数据结束后,触摸”enter“或”确定“,键盘会消失。当再次双击另一个单元格时,键盘会再次唤起。用户希望键盘一直是唤起状态,
这种场景下,键盘一直会处于唤起,退回的状态,很不方便。所以可以用SpreadJS的始终编辑模式:键盘时一直唤起状态。
可以参考下面的链接进行设置。
https://demo.grapecity.com.cn/sp ... t-doc-content_title
// 设置为始终处于输入模式。
   spread.bind(GC.Spread.Sheets.Events.EnterCell, function (event, data)
{
   var sheet = data.sheet;
   activeSheet.startEdit(false);
   });


六、其他:
取消复制粘贴后选中的边框线
spread.commandManager().execute({cmd: "cancelInput", sheetName:sheet.name()});
取消双击编辑状态:
spread.focus(false)
取消选中状态:
sheet.clearSelection()






页: [1]
查看完整版本: SpreadJS状态