GWT CellTable- как переместить сортировочную стрелку слева направо
2 ответа
Мне потребовалось некоторое время, чтобы найти, но решение очень легко. В таблице ячеек используется построитель заголовков по умолчанию, в котором есть возможность визуализировать значок сортировки слева или справа.
DefaultHeaderOrFooterBuilder<Contact> headerBuilder = new DefaultHeaderOrFooterBuilder<>(table, false);
headerBuilder.setSortIconStartOfLine(false);
table.setHeaderBuilder(headerBuilder);
Ура!
Я думаю, у меня есть несколько сырых идей, с которыми вы могли бы поиграть и посмотреть, помогут ли они:
Получите дескриптор элемента div, содержащего стрелку img, чтобы добавить имя класса стиля, которое будет использоваться в селекторе CSS [2. ниже], который стилирует правильное выравнивание, которое вы хотите... Может быть, что-то вроде этого будет работать:
CellTable.getTableHeadElement().addClassName( "myTableHeadersClassname" );
Если 1. удалось получить имя класса "myTableHeadersClassname" в элементе thead CellTable, то я думаю, что мы в хорошей форме. Я думаю, что этот CSS-селектор будет тогда работать:
.myTableHeadersClassName div div:nth-child(1){ left: auto; right: 0 px; }
Я не уверен, что 1. сработает, так что это может быть трудной частью. Но идея состоит в том, чтобы добавить имя класса где-нибудь в иерархии CellTable DOM, чтобы затем создать селектор CSS из. Пока вы можете применить это имя класса и сделать селектор, вы должны будете просто столкнуться с манипулированием стилем этого селектора (хотя я думаю, что стиль внутри селектора в 2. должен работать в этот момент). Если 1. не работает, я думаю, что вы всегда можете просто поместить имя класса в самом верхнем уровне CellTable, а затем иметь этот немного более сложный селектор:
.myCellTableClassname thead div div:nth-child(1)
Какой бы маршрут селектора вы ни выбрали, левый стиль должен переопределять встроенный стиль CellTable; если то, что я написал, не делает этого, то просто добавьте больше специфичности к селектору, пока это не произойдет.
Надеюсь, что это поможет...