作成日: 2026/02/27 最終更新日: 2026/05/01
文書種別
制限事項
状況
回避方法あり
詳細
グリッドのimeEnabledをtrue、allowAddNewをtrueに設定した状態で、独自処理を行うためにpastedCellイベント内でonCellEditEndedを呼び出している場合、グリッドに大量のデータを貼り付けると、遅延が発生し、PCの動作が数分間重くなる現象が発生します。
これは、仕様に基づく動作です。
この問題は想定とは異なるAPIの使用方法に起因しております。
onCellEditEndedは、APIの仕様上「セル編集完了イベントを能動的にトリガーする」ことを主な目的としております。
このAPIを呼び出した場合、編集後に独自のロジックが実行されるだけでなく、セル編集完了後に動作する内部ロジックについても同時に実行されます。
これによって、本現象が発生します。
これは、仕様に基づく動作です。
この問題は想定とは異なるAPIの使用方法に起因しております。
onCellEditEndedは、APIの仕様上「セル編集完了イベントを能動的にトリガーする」ことを主な目的としております。
このAPIを呼び出した場合、編集後に独自のロジックが実行されるだけでなく、セル編集完了後に動作する内部ロジックについても同時に実行されます。
これによって、本現象が発生します。
回避方法
独自のロジックを独立したメソッドとして実装し、pastedCellイベントが発生した際にも同一のメソッドを呼び出すようにします。
これより、内部ロジックを意図せず実行してしまうことを回避しつつ、処理の一貫性を保った実装が可能となります。
(実装例)
これより、内部ロジックを意図せず実行してしまうことを回避しつつ、処理の一貫性を保った実装が可能となります。
(実装例)
theGrid1.pastedCell.addHandler(
function (s, e) {
// セルへの入力完了後、小文字を大文字に変換するなどの
// 独自処理を行うため、onCellEditEndedイベントを呼び出している
// theGrid1.onCellEditEnded(e);
handleMethod(); // 回避方法
}
);
// 回避方法
theGrid1.cellEditEnded.addHandler(
function (s, e) {
handleMethod();
}
);
function handleMethod() {
// セル入力完了後に独自の処理を行う
console.log("handleMethod");
}