如何将 nattable 标题样式更改为扁平化

问题描述 投票:0回答:1

我想在使用 SortHeaderLayer 时摆脱 nattable 标题中的“3D”样式。基本上我发现的所有示例都使用这种样式。

我找到了一个示例,其中 UI 对我来说看起来很完美 - _818_SortableAllFilterPerformanceColumnGroupExample。

但是这个例子有点复杂,我不完全理解平面外观是如何实现的 - 我猜它与 HoverLayer 有关。该示例有一个缺点:似乎设置附加排序列(使用 alt 键)不起作用。

无论哪种方式 - 我不想过多关注 _818_SortableAllFilterPerformanceColumnGroupExample。我只是将其作为我想要实现的平头样式的示例。有没有简单的方法可以实现这一目标?

我已经通过采用 DefaultColumnHeaderStyleConfiguration 取得了一些成功。 使用时

DefaultColumnHeaderStyleConfiguration config=new DefaultColumnHeaderStyleConfiguration();
config=new TextPainter(true, false, 1, true); 
config.bgColor=//whatever BG color. 

结果看起来很接近我想要的,但背景是白色的(可能是因为我省略了绘制它)。

将 TextPainter ctor 更改为时。

config=new TextPainter(true, true, 1, true); 

背景颜色已绘制,但标题之间的边框消失。

在这两种情况下,单击标题时都会显示排序列的 3D 外观(始终使用 config.bgColor)。这真的很难看而且不一致。

最后评论:非常感谢这个出色的控制!

克里斯

eclipse-rcp nattable
1个回答
0
投票

好吧,我自己找到了它 - 看来我必须发帖才能走上正确的轨道;-)

// 1 Change default header config like this 
DefaultColumnHeaderStyleConfiguration config=new DefaultColumnHeaderStyleConfiguration();
config=new TextPainter(true, true, 1, true); 
config.bgColor=//whatever BG color
config.renderGridLines=true;

// 2 disable default configuration when constructing the SortHeaderLayer
ILayer layer=new SortHeaderLayer(columnHeaderLayer, sortModel, false); 

// 3 add SingleClickConfig, but dont use the defaults painter
natTable.addConfiguration(new SingleClickSortConfiguration(new SortableHeaderTextPainter());

这对我有用。我希望这是正确的方法,如果不是简短的信息就好了。

© www.soinside.com 2019 - 2024. All rights reserved.