シートの初期化方法によってその後の数式自動計算が動作しない場合がある
対象製品
SpreadJS 9J
状況
修正済み
詳細
シートに対し、下記のメソッドを使用して初期化を行うとその後の数式自動計算が実施されなくなります。
- reset()
- setDataSource(json,true)
【再現コード】
--------------------------------------------------
// 本再現コードの実行にあたってはページ上にSpreadJSを二つ配置する必要があります。
// initSpread1およびinitSpread2の実行後、数式の自動計算が行われなくなります。
$(document).ready(function () {
$("#ss1").wijspread({ sheetCount: 1 });
$("#ss2").wijspread({ sheetCount: 1 });
initSpread1();
initSpread2();
});
function initSpread1() {
// Spread1に対しての設定
var spread = $("#ss1").wijspread("spread");
var sheet = spread.getActiveSheet();
var jsonData = [
{ A: 1, B: 2, C: "", D: "", E: ""},
{ A: "", B: "", C: "", D: "", E:""}
];
sheet.autoGenerateColumns = true;
sheet.setDataSource(jsonData,true);
};
function initSpread2() {
// Spread2に対しての設定
var spread = $("#ss2").wijspread("spread");
var sheet = spread.getActiveSheet();
sheet.reset();
};
--------------------------------------------------
- reset()
- setDataSource(json,true)
【再現コード】
--------------------------------------------------
// 本再現コードの実行にあたってはページ上にSpreadJSを二つ配置する必要があります。
// initSpread1およびinitSpread2の実行後、数式の自動計算が行われなくなります。
$(document).ready(function () {
$("#ss1").wijspread({ sheetCount: 1 });
$("#ss2").wijspread({ sheetCount: 1 });
initSpread1();
initSpread2();
});
function initSpread1() {
// Spread1に対しての設定
var spread = $("#ss1").wijspread("spread");
var sheet = spread.getActiveSheet();
var jsonData = [
{ A: 1, B: 2, C: "", D: "", E: ""},
{ A: "", B: "", C: "", D: "", E:""}
];
sheet.autoGenerateColumns = true;
sheet.setDataSource(jsonData,true);
};
function initSpread2() {
// Spread2に対しての設定
var spread = $("#ss2").wijspread("spread");
var sheet = spread.getActiveSheet();
sheet.reset();
};
--------------------------------------------------
回避方法
SpreadJS 9J SP1(Ver.3.20152.21)で修正済み