作成日: 2024/07/09 最終更新日: 2025/06/25
文書種別
制限事項
発生環境
Chrome、Microsoft Edge(Chromium)以外のブラウザで発生
状況
回避方法あり
詳細
グリッドの固定列でツールチップが表示されません。
この動作は製品の仕様上の動作です。
Chrome、Microsoft Edge(Chromium)以外のブラウザの場合、スクロール中のちらつきを軽減するために固定列のセルを複製する仕様となっております。
固定列でツールチップが表示されない現象は、表示されている複製されたセルにはツールチップが追加されていないために発生するものです。
この動作は製品の仕様上の動作です。
Chrome、Microsoft Edge(Chromium)以外のブラウザの場合、スクロール中のちらつきを軽減するために固定列のセルを複製する仕様となっております。
固定列でツールチップが表示されない現象は、表示されている複製されたセルにはツールチップが追加されていないために発生するものです。
回避方法
【回避方法1】
cloneFrozenCellsプロパティをfalseに設定します。
【回避方法2】
以下のように、表示するツールチップの内容を一時保存し、グリッドが更新された後でツールチップを再設定します。
var tooltipCacheForFrozenCells = []; // 固定セルのツールチップのコンテンツをキャッシュする
theGrid.formatItem.addHandler(function (s, e) {
const tipContent = '<span class="col-header">' + e.getColumn().header + '</span>';
tooltip.setTooltip(e.cell, tipContent);
// 固定セルのツールチップの内容を記録する
const col = e.col;
if (col < theGrid.frozenColumns) {
tooltipCacheForFrozenCells.push(tipContent);
}
})
// グリッドが更新された後に、固定されたセルにツールチップを設定する
theGrid.updatedView.addHandler(function (s, e) {
const cloneFrozenCells = theGrid.hostElement.querySelector('[wj-part=fcells]');
if (cloneFrozenCells && cloneFrozenCells.childNodes.length > 0) {
cloneFrozenCells.childNodes.forEach((frozenCell, index) => {
tooltip.setTooltip(frozenCell, tooltipCacheForFrozenCells[index]);
});
}
});