作成日: 2025/05/19 最終更新日: 2025/11/13
文書種別
不具合
発生環境
5.20242.21 以降で発生。
5.20251.34 以降は、FlexGrid の allowResizing プロパティが ColumnsOverflow などの "overflow" キーワードを含む列挙型の場合には発生せず、それ以外の場合に発生。
状況
修正済み
詳細
FlexGridに水平のスクロールバーが表示された状態で、一番右の列の右端のグリッド境界線をクリックするとわずかに列幅が広がります。
回避方法
この問題はバージョン5.20252.42で修正されました。
修正版を適用しない場合の回避方法は次の通りです。
以下のようにresizingColumnイベントを処理し、最終列の右端の境界線を操作した場合にイベントをキャンセルします。
theGrid.resizingColumn.addHandler(function (g, e) {
const col = e.col;
const ht = g._mouseHdl._htDown; // 内部的なヒットテスト情報
const isLastColumn = col === g.columns.length - 1;
const isHitColumnHeader = ht.cellType === wijmo.grid.CellType.ColumnHeader;
const isHitRightEdge = ht.edgeRight || ht.edgeFarRight;
if (isLastColumn && isHitColumnHeader && isHitRightEdge) {
e.cancel = true; // サイズ変更をキャンセル
}
});
なお、上記のコードは列ヘッダーセルを操作した場合のみに対応しています。
列ヘッダーセル以外を操作した場合にも対応する場合は、以下のようにイベントをキャンセルする条件を変更します。
if (isLastColumn && isHitRightEdge) {
e.cancel = true; // サイズ変更をキャンセル
}