独自に作成したフォーマッタがコピー・ペーストで動作しなくなる
対象製品
SpreadJS 9J
発生環境
9.20161.0
状況
修正済み
詳細
独自に作成したフォーマッタをセルをコピー・ペーストした場合に、ペースト先のセルではフォーマッタが機能しなくなる現象が発生します。
【再現方法】
1.下記の再現コードを実行します
2.セルB2をコピーし、任意のセルにペーストします
3.手順2でペーストを行ったセルで任意の値を入力します
【動作結果】
独自フォーマッタにはコンソール出力処理が記述されていますが、上記の操作を行ってもコンソールに何も表示されません。
【再現コード】
// 独自のFormatter
function TestFormatter() {}
TestFormatter.prototype = new GC.Spread.Formatter.FormatterBase();
TestFormatter.prototype.parse = function (value) {
console.log("custom");
return value;
}
TestFormatter.prototype.format = function (value, format, conditionalForeColor, context) {
return value;
}
// メイン処理
window.onload = function(){
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
var sheet = spread.getActiveSheet();
// カスタムフォーマッターを設定
sheet.getCell(1, 1).formatter(new TestFormatter());
};
【再現方法】
1.下記の再現コードを実行します
2.セルB2をコピーし、任意のセルにペーストします
3.手順2でペーストを行ったセルで任意の値を入力します
【動作結果】
独自フォーマッタにはコンソール出力処理が記述されていますが、上記の操作を行ってもコンソールに何も表示されません。
【再現コード】
// 独自のFormatter
function TestFormatter() {}
TestFormatter.prototype = new GC.Spread.Formatter.FormatterBase();
TestFormatter.prototype.parse = function (value) {
console.log("custom");
return value;
}
TestFormatter.prototype.format = function (value, format, conditionalForeColor, context) {
return value;
}
// メイン処理
window.onload = function(){
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
var sheet = spread.getActiveSheet();
// カスタムフォーマッターを設定
sheet.getCell(1, 1).formatter(new TestFormatter());
};
回避方法
SpreadJS 9J SP2(Ver.9.20171.0)で修正済み