#tapestry
#tapestry
Вопрос:
Как добавить всплывающую подсказку (или тег заголовка) в строки сетки tapestry? Я хочу показать конфиденциальную информацию о строке во всплывающей подсказке. Я мог бы сделать это в t:loop
, но мне нужно использовать t:grid
. Мне не нужен дополнительный столбец в сетке.
Я использую версию tapestry 5.0.18.
Ответ №1:
Я написал GridDecorator mixin, который применяет декораторы к строкам и ячейкам после отображения компонента сетки. У декораторов есть ссылка на элемент DOM и компонент, который использовался для рисования строки сетки. Таким образом, вы можете украсить DOM так, как вам нравится (например, добавив контекстное меню к каждой строке, специфичной для данной строки).
Демонстрация / Код здесь:
Ответ №2:
Я также задал этот вопрос в группе пользователей tapestry здесь. Как я понимаю из ответов, прямого способа сделать это нет.
Но у меня был некоторый успех в приведенном ниже методе.
Сетки Tapestry преобразуются в таблицу на отображаемой HTML-странице. Используя Java script, мы можем прикрепить тег заголовка к каждой строке.
jQuery('td.rowtitle').attr('width', '12%').attr('title', '${message:yourMessage}');
Ответ №3:
Спасибо за вопрос. Я узнал, что искал, из ответа Хеннинга, но этот синтаксис устарел в Tapestry 5.3 и не будет работать (если, возможно, я не перенастрою Tapestry, чтобы игнорировать устаревшие версии). Вот «современная» версия примера Хеннинга
<t:grid ...>
<p:lastNameHeader>
<!-- your content -->
</p:lastNameHeader>
<t:grid>
Ответ №4:
Вы можете переопределить заголовки и ячейки таблицы по умолчанию и заполнить их чем угодно:
<table t:type="Grid" ...>
<t:parameter name="lastNameHeader">
<!-- Your content -->
</t:parameter>
</table>
Имя параметров — «$ {nameOfRow} Заголовок» для заголовка и «$ {nameOfRow} Ячейка» для ячеек.
Также взгляните на ссылку на компонент сетки.