Eclipse 如何在选择表中的行单元格时选择整个列?
我们有一个没有标题的NatTable,我将第一行视为标题, -注册CELL_PAINTER以更改可视化,使此行看起来与标题类似 还注册了CustomCommandHandler,它实现了ILayerCommandHandler,以防止为第一行选择单元格/行。 selectionLayer.RegisterCommandHandler新建CustomCommandHandler; 单元格选择对其他单元格很有效。 公共布尔doCommandfinal ILayer图层,final ILayer命令 { 如果ViewportSelectRowCommand的命令实例 {Eclipse 如何在选择表中的行单元格时选择整个列?,eclipse,nattable,Eclipse,Nattable,我们有一个没有标题的NatTable,我将第一行视为标题, -注册CELL_PAINTER以更改可视化,使此行看起来与标题类似 还注册了CustomCommandHandler,它实现了ILayerCommandHandler,以防止为第一行选择单元格/行。 selectionLayer.RegisterCommandHandler新建CustomCommandHandler; 单元格选择对其他单元格很有效。 公共布尔doCommandfinal ILayer图层,final ILayer命令
return ViewportSelectRowCommand.getRowPosition虽然我不太确定只有一个以复杂方式配置的主体,其外观和行为就像它有标题而没有真正的标题一样有什么意义,但是这没有任何意义,您需要注册一个检查列位置和将SelectCellCommand转换为SelectColumn命令 但我预计,在其他情况下,immitated头的行为与实际头不一样,因此会出现更多问题。您也可以尝试覆盖getRegionLabelsByXYint,int,但我不确定这是否会起作用或导致更多问题
this.selectionLayer.registerCommandHandler(new SelectCellCommandHandler(this.selectionLayer) {
@Override
public boolean doCommand(ILayer targetLayer, SelectCellCommand command) {
if (command.convertToTargetLayer(targetLayer)
&& command.getColumnPosition() == 0) {
return targetLayer.doCommand(
new SelectColumnCommand(
targetLayer,
command.getColumnPosition(),
command.getRowPosition(),
command.isShiftMask(),
command.isControlMask()));
}
return super.doCommand(targetLayer, command);
}
});