在 Nattable 中更改列标题的高度,而不是调整大小

Posted

技术标签:

【中文标题】在 Nattable 中更改列标题的高度,而不是调整大小【英文标题】:Change height of the Column Header, not resize, in Nattable 【发布时间】:2021-12-07 00:02:19 【问题描述】:

我想增加列标题单元格的大小,所以我制作了一个 CustomCellPainter 扩展 BeveledBorderDecorator 类,并且我将 internalBounds.height 分配为 25,如下所示,但是 columnHeaderLayer 中的内容被隐藏在 bodyLayer 后面,只是喜欢这里提供的图片changing the height of column header in Nattable。

public void paintCell(ILayerCell cell, GC gc, Rectangle adjustedCellBounds, IConfigRegistry configRegistry) 
            Rectangle interiorBounds = getWrappedPainterBounds(cell, gc,
                    adjustedCellBounds, configRegistry);
            
            interiorBounds.height = 25;
            
            super.paintCell(cell, gc, interiorBounds, configRegistry);

我想更改列标题单元格的高度,并希望它在渲染时正确反映。我想知道为此使用什么 API。

【问题讨论】:

【参考方案1】:

除非您知道自己在做什么,否则永远不要碰画家。

如果您想在设置结构时以编程方式更改ColumnHeaderLayer 的高度,您只需相应地配置DataLayer

ILayer columnHeaderLayer = new ColumnHeaderLayer(
    new DataLayer(columnHeaderDataProvider, DataLayer.DEFAULT_COLUMN_WIDTH, 25),
    viewportLayer,
    selectionLayer);

【讨论】:

以上是关于在 Nattable 中更改列标题的高度,而不是调整大小的主要内容,如果未能解决你的问题,请参考以下文章

使用 NatTable 在树表中的单个列中同时编辑 CheckBox 和 Text

NatTable 示例中是不是有任何 API 在单击查看源链接时显示源代码?

如何为 NatTable 中的特定单元格跳过或不应用 cellpainter

NatTable 中的值如何与 GlazedLists 进行比较?

如何修复裁剪突出显示视图的高度,而不是使用上传的图像进行更改?

如何在 natTable 中对配置标签进行排序? (有没有一种简单的方法可以从 nattable 中获取相对坐标?)