Grid + UiBinder: установка стилей на уровне строк
...........
.........
<g:row styleName="OddNumberRow">
....
....
</g:row>
<g:row styleName="EvenNumberRow">
....
....
</g:row>
...........
...........
Вышеуказанный подход не работает. Другими словами, элементы "tr" в сгенерированном html вообще не имеют имен классов. Опция резервного копирования будет заключаться в том, чтобы вставлять стили в эти строки из конструкторов UiBinder (используя getRowFormatter.addStyleName), но сейчас я не хочу идти по этому пути (я хочу попробовать зарезервировать код, который идет в Java-класс UiBinder для только для обработки событий.)
Любые мысли / указатели будут высоко ценится.
Примечание. Кросс опубликован на https://groups.google.com/forum/?fromgroups.
Спасибо
2 ответа
Вы правы, это не работает. Я также попытался добавить стиль в g: customCell, который тоже не работает.
Единственный способ, которым я могу придумать, - это использовать SimplePanel для упаковки вашего контента в:
<g:row>
<g:customCell>
<g:SimplePanel width="100%" height="100%" styleName="OddNumberRow">
<g:Label>Content</g:Label>
</g:SimplePanel>
</g:customCell>
</g:row>
<g:row>
<g:customCell>
<g:SimplePanel width="100%" height="100%" styleName="EvenNumberRow">
<g:Label>Content</g:Label>
</g:SimplePanel>
</g:customCell>
</g:row>
Похоже, GWT был обновлен, чтобы понять styleName=foo
прямо на <gwt:cell>
а также <gwt:row>
элементы.
Ваш пример кода теперь должен делать то, что вы ожидаете:)