作成日: 2022/02/01 最終更新日: 2022/04/20
文書種別
不具合
状況
修正済み
詳細
FlexGridにカスタムエディタを設定している場合、セルを編集モードにしてからグリッド内の他のセルをクリックした場合、カスタムエディタのlostFocusイベントが発生します。
しかし、同じくセルを編集モードにしてから、グリッドの外をクリックするなどしてグリッドからフォーカスを移動した場合は、カスタムエディタのlostFocusイベントが発生しません。
しかし、同じくセルを編集モードにしてから、グリッドの外をクリックするなどしてグリッドからフォーカスを移動した場合は、カスタムエディタのlostFocusイベントが発生しません。
回避方法
この問題はバージョン5.20221.842で修正されました。
修正版を適用しない場合の回避方法は次の通りです。
prepareCellForEditイベントでカスタムエディタのホスト要素にblurイベントを追加して、onLostFocusメソッドを呼び出す方法で回避できます。
gridPrepareCellForEdit(grid: FlexGrid, e: any) {
if (grid.activeEditor) {
let autoComplete = wjcCore.Control.getControl(grid.activeCell.querySelector('.wj-inputmask'));
autoComplete.hostElement.addEventListener('blur', (e) => {
autoComplete.onLostFocus()
}, true)
}
}