EditMode Events

Posted by: seshareddy.kamaganiguntla on 26 April 2022, 12:31 am EST

    • Post Options:
    • Link

    Posted 26 April 2022, 12:31 am EST

    Hii ,

    How to differentiate whether User Clicked Enter after entering value in Edit Mode or He clicked Escape button , as both trigger EditEnded and EditEnding events.

  • Posted 27 April 2022, 4:57 am EST

    Hi,

    This is expected behavior Edit Ended is only responsible for notifying the edit mode. However, if you want to distinguish between edit ended with Esc key. You may override the reserved key method. Please refer to the following code snippet and let me know wif you ace any issues.

    
      var sheet1 = spread.getSheet(0);
      let style = new GC.Spread.Sheets.Style();
      let escClicked = false;
      let spreadNS = GC.Spread.Sheets;
      let old = spreadNS.CellTypes.Text.prototype.isReservedKey;
      spreadNS.CellTypes.Text.prototype.isReservedKey = function (e, context) {
        if (context.isEditing && e.keyCode === GC.Spread.Commands.Key.esc) {
          escClicked = true;
        }
        old.apply(this, arguments);
      };
    
      sheet1.bind("EditEnded", (e, args) => {
        if (escClicked) {
          escClicked = false;
          console.log("Edit end using Esc");
        } else {
          console.log("endit ended with value");
        }
      });
    
    

    sample: https://codesandbox.io/s/beautiful-framework-3j8dvz?file=/src/index.js:170-789

    isReservedKey: https://www.grapecity.com/spreadjs/docs/latest/online/SpreadJS~GC.Spread.Sheets.CellTypes.Base~isReservedKey.html

    Ragards,

    Avinash

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels