検証によるエラー検知時のアクションとしてRetryを設定してもセル移動を禁止できない場合がある
対象製品
SpreadJS 9J
発生環境
3.20152.21
状況
修正済み
詳細
【再現手順】
1.以下のコードを実行します
2.B2セルを選択し"-1"を入力します
3.TABキーを押下します
【現象】
TABキー押下によってセル移動が発生します。(エラー検知時はセル移動できない状態が正常です)
【再現コード】
$(function () {
$(document).ready(function () {
$("#ss").wijspread({ sheetCount: 1 });
var spread = $("#ss").wijspread("spread");
spread.highlightInvalidData(true);
var activeSheet = spread.getActiveSheet();
activeSheet.selectionUnit($.wijmo.wijspread.SelectionUnit.Row);
var dv = $.wijmo.wijspread.DefaultDataValidator.createFormulaValidator("B2>0");
dv.showInputMessage = true;
dv.inputMessage = "0より大きい値をB2セルに入力してください";
dv.inputTitle = "入力規則";
dv.showErrorMessage = true;
dv.errorMessage = "無効な値";
activeSheet.setDataValidator(1, 1, dv);
activeSheet.bind($.wijmo.wijspread.Events.ValidationError, function (sender, args) {
if(args.validator.showErrorMessage){
args.validationResult = $.wijmo.wijspread.DataValidationResult.Retry;
}
});
});
});
1.以下のコードを実行します
2.B2セルを選択し"-1"を入力します
3.TABキーを押下します
【現象】
TABキー押下によってセル移動が発生します。(エラー検知時はセル移動できない状態が正常です)
【再現コード】
$(function () {
$(document).ready(function () {
$("#ss").wijspread({ sheetCount: 1 });
var spread = $("#ss").wijspread("spread");
spread.highlightInvalidData(true);
var activeSheet = spread.getActiveSheet();
activeSheet.selectionUnit($.wijmo.wijspread.SelectionUnit.Row);
var dv = $.wijmo.wijspread.DefaultDataValidator.createFormulaValidator("B2>0");
dv.showInputMessage = true;
dv.inputMessage = "0より大きい値をB2セルに入力してください";
dv.inputTitle = "入力規則";
dv.showErrorMessage = true;
dv.errorMessage = "無効な値";
activeSheet.setDataValidator(1, 1, dv);
activeSheet.bind($.wijmo.wijspread.Events.ValidationError, function (sender, args) {
if(args.validator.showErrorMessage){
args.validationResult = $.wijmo.wijspread.DataValidationResult.Retry;
}
});
});
});
回避方法
SpreadJS 9J SP2(Ver.3.20152.22)で修正済み