成日: 2022/12/07 最終更新日: 2022/12/07
文書種別
不具合
状況
回避方法有り
詳細
2022Jv1以降のFlexGridにおいて、グループ化されたデータの2階層目以降にGrid.TreeIndentプロパティで指定したインデントが反映されず、1階層目と同じインデント位置に表示されます。
回避方法
CellFactoryを使用して、2階層目以降のグループ行に対して左パディングを設定して回避可能です。実装方法は、以下のGridCellFactoryをオーバーライドしたサンプルをご参考にしてください。
public class CustomCellFactory : GridCellFactory { public override void PrepareCellStyle(GridCellType cellType, GridCellRange range, C1Style style, C1Thickness internalBorders) { base.PrepareCellStyle(cellType, range, style, internalBorders); var row = Grid.Rows[range.Row] as GridGroupRow; if (row != null && range.Column == 0) { var panel = Grid.Cells[range.Row, range.Column]; var lv = row.Level; C1Thickness thickness = style.Padding.HasValue ? (C1Thickness)style.Padding.Value.Clone() : new C1Thickness(); thickness.Left += (lv * Grid.TreeIndent); style.Padding = thickness; } } }