作成日: 2021/10/15 最終更新日: 2022/02/22
文書種別
不具合
状況
修正済み
詳細
Ctrlキーを押しながら複数のセルを選択します。
この時、Ctrlキーを離して矢印キーで他のセルを選択したり、別のセルに値を入力したりしても、複数選択されていたセルは選択が解除されません。
マウスで他のセルを選択した場合は、この問題は発生しません。
回避方法
この問題はバージョン5.20213.834で修正されました。
修正版を適用しない場合の回避方法は次の通りです。
以下のselectionChangedイベントとctrlキー押下時のイベントを追加します。
var isCtrlPressed = false;
var theGrid = new FlexGrid('#theGrid', {
//回避方法
selectionChanged: () => {
setTimeout(() => {
var selectionRanges = theGrid.selectedRanges;
if (!isCtrlPressed && selectionRanges.length > 1) {
theGrid.selectedRanges = [selectionRanges[0]];
}
});
}
});
//ctrlキーの押下状態をハンドリングする
var host = theGrid.hostElement;
host.addEventListener('keydown', (e) => {
isCtrlPressed = e.ctrlKey || e.metaKey
});
host.addEventListener('keyup', (e) => {
isCtrlPressed = false;
});
host.addEventListener('mousedown', (e) => {
isCtrlPressed = e.ctrlKey || e.metaKey
});
host.addEventListener('mouseup', (e) => {
isCtrlPressed = false;
});