作成日: 2025/10/01 最終更新日: 2025/10/01
文書種別
制限事項
詳細
SpreadJSでは、シートタブの状態にアクティブと選択があります。
- アクティブ:シートにフォーカスがあります。
- 選択:シートタブが選択されています。
シートタブをクリックしたときにActiveSheetChangingイベントをキャンセルしてシートの切り替えを中止した場合、アクティブシートの変更はキャンセルされますが、選択状態の変更はキャンセルされずにそのままとなります(シートタブは太字のスタイルが適用された状態になります)。
[例]
・Sheet1が選択状態のときに、Sheet2のタブをクリックする。
・ActiveSheetChangingイベントをキャンセルする。
結果:アクティブシートはSheet1のままになるが、Sheet2のタブが選択状態となる。
回避方法
ActiveSheetChangingイベントのキャンセル処理で、新しくアクティブにされようとしているシートの isSelectedプロパティをfalseに設定することで、シートの選択状態が変更されることを回避することが可能です。
spread.bind(GC.Spread.Sheets.Events.ActiveSheetChanging, function (sender, args) {
args.cancel = true;
args.oldSheet.isSelected(true);
args.newSheet.isSelected(false);
});