作成日: 2024/06/13 最終更新日: 2024/11/06
文書種別
不具合
発生環境
5.20241.9以降のバージョンから発生
状況
修正済み
詳細
詳細行にグリッドを設定します。
この時、親グリッドの1列目を非表示にすると詳細行内のグリッドが表示されません。
この時、親グリッドの1列目を非表示にすると詳細行内のグリッドが表示されません。
回避方法
この問題はバージョン5.20242.21で修正されました。
修正版を適用しない場合の回避方法は次の通りです。
_renderCellメソッドを以下のように書き換えます。
import { createElement, setAttribute, toggleClass } from '@grapecity/wijmo';
import { _NewRowTemplate, GridPanel, _SelectionHandler, CellType, SelectedState } from '@grapecity/wijmo.grid';
GridPanel.prototype._renderCell = function (e, t, i, o, n, r) {
var l = this._g
, s = l.getMergedRange(this, t, i, !1);
if (s) {
for (var a = Math.max(o.row, s.row); a < t; a++)
if (this.rows[a].renderSize) return r;
for (a = Math.max(o.col, s.col); a < i; a++)
if (this.columns[a].renderSize) return r;
if (t >= s.row && t <= s.row2 && i > s.col && i <= s.col2 && this._ct === CellType.Cell && s.isSingleCell) return r;
var u = this.columns.frozen;
if (u && s.col < u && s.col2 >= u && i > s.col) return r;
if (s.leftCol != i) {
if (this._ct != CellType.ColumnHeader && this._ct != CellType.TopLeft) return r;
for (var c = s.leftCol; c < i; c++)
if (this.columns[c].isVisible) return r
}
}
var d = this.columns[i];
if ((!d || d.renderSize <= 0) && (!s || s.getRenderSize(this)
.width <= 0)) return r;
var h = e.children[r];
if (h && !n && this._recycle && l._lazyRender && !l.activeEditor) {
var p = h[GridPanel._INDEX_KEY];
p && p.row == t && p.col == i && p.rng == s && t >= this.rows.frozen && i >= this.columns.frozen && (n = !0)
}
var f = SelectedState
, g = this.getSelectedState(t, i, s)
, _ = g == f.Cursor || g == f.Active
, m = !1;
switch (this.cellType) {
case CellType.RowHeader:
case CellType.ColumnHeader:
case CellType.TopLeft:
m = !0
}
if (h && n) {
toggleClass(h, "wj-state-active", _);
toggleClass(h, m ? "wj-focus-header-cell" : "wj-state-selected", g == f.Cursor);
toggleClass(h, "wj-state-multi-selected", g == f.Selected);
var C = h.querySelector(".wj-column-selector");
C ? _ || g != f.None ? setAttribute(h, "aria-selected", !!C.checked) : setAttribute(h, "aria-selected", null) : setAttribute(h, "aria-selected", !(!_ && g == f.None) || null);
_ && (this._activeCell = h);
return r + 1
}
h || (h = createElement(GridPanel._HTML_CELL, e));
setAttribute(h, "aria-colindex", i + 1);
_ && (this._activeCell = h);
if (this._ct == CellType.Cell) {
setAttribute(h, "role", "gridcell");
setAttribute(h, "aria-selected", !(g == f.None && !_) || null);
var w = !l.canEditCell(t, i) || null;
setAttribute(h, "aria-readonly", w);
setAttribute(h, "aria-required", w ? null : d.getIsRequired())
}
l.cellFactory.updateCell(this, t, i, h, s);
h[GridPanel._INDEX_KEY] = {
row: t
, col: i
, rng: s
, panel: this
};
return r + 1
};