Declined
Last Updated: 25 Feb 2020 14:52 by ADMIN
WT
Created on: 31 Jul 2018 18:55
Category: Spreadsheet
Type: Feature Request
5
Percent entry in spreadsheet should match Excel behavior.
In percent-formatted cells, Excel will place a '%' as the user types. This allows 50% to be entered as '50'.

Steps (excel and kendo):

1. Format a cell as percent

2. Enter 50

Excel shows "50.00%". The actual value is .5

Kendo widget shows "5000.00%". The actual value is 50
2 comments
ADMIN
Veselin Tsvetanov
Posted on: 24 Jan 2019 09:12
As a possible workaround, the change event of the Spreadsheet could be handled to alter the numeric value:
var skipSet = false;
 
$('#spreadsheet').kendoSpreadsheet({
  change: function(e) {
    if (skipSet) {
     skipSet = false;
         
      return;
    }
     
    var range = e.range;
    var format = range.format();
     
    if (format === "#.00%") {
      skipSet = true;
        range.value(range.value() / 100);
    }
  },
    sheets: [{
    rows: [{
        cells: [{
        format: "#.00%"
      }]
    }]
  }]
});

Here is a Dojo sample implementing the above.
ADMIN
Marin Bratanov
Posted on: 27 Nov 2018 15:57
To add some context for other people who may encounter this.

The format of a cell must only change its appearance and not its value. In particular, the percentage format must multiply the actual value by 100 and show a "%" symbol. This is what the description of this format says in Excel too.

It seems, however, that in Excel the actual value changes with that multiplier, and so the data is changed, not just formatted.

The Kendo Spreadsheet preserves the data and applies a display format which is a correct behavior. 
If you type the % symbol as well, you will get the desired behavior because the format will be matched to the value and so the conversion will occur. For example, type "50%" in the Kendo Spreadsheet instead of "50" in the percent cell and you will see the difference.
Without the % symbol, the value would have to be changed heuristically, and such logic is not yet implemented in the Kendo Spreadsheet.