Хотя я не совсем уверен, какой смысл иметь только тело, которое настроено сложным образом, чтобы выглядеть и вести себя так, как будто у него есть заголовки без реального заголовка (ИМХО это не имеет никакого смысла), вам нужнозарегистрировать пользовательский обработчик, который проверяет положение столбца и преобразует SelectCellCommand
в SelectColumnCommand
.
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);
}
});
Но я ожидаю, что на пути будут возникать другие проблемы, поскольку имитируемые заголовки не ведут себя какреальные заголовки также в других сценариях. Вы также можете попытаться переопределить getRegionLabelsByXY(int, int)
, но я не уверен, сработает ли это или вызовет больше проблем.