порядок рендеринга гобеленовых компонентов - PullRequest
1 голос
/ 01 марта 2011

Я использую Tapestry 4.1.1, и мне нужно изменить порядок, в котором некоторые компоненты отображаются на странице приложения гобелена.У меня есть следующее в HTML:

-старт страницы
-component1 (карта, показывающая местоположение)
-component2 (результат таблицы contrib: таблица)
-конец страницы

в результате получается 90 объектов для показа.Это постранично.10 объектов на странице.9 страниц.
Поскольку гобелен обрабатывает порядок сортировки объектов, которые я не знаю, которые будут отображаться.Я думаю, мне нужно подождать, пока он отобразится, чтобы точно знать, что показывается пользователю?

component1 показывает местоположение на карте.Ему нужен идентификатор одного из объектов, отображаемых в таблице результатов.Не любой идентификатор.одна из 10 отображается из всех 90.

Я использую привязку 'row' setRow (Object 0), чтобы узнать, какие объекты отображаются.Метод вызывается 10 раз.Это потрясающе.Затем мне нужно передать идентификатор для component1.Поскольку в компоненте HTML1 предшествует компоненту 2, он будет обработан перед отображением результата.

Я попытался поместить component2 перед component1 в спецификации .page, но это не имеет значения.Только поместив component2 перед component1 в HTML сделал трюк.

Я действительно надеюсь, что кто-то может помочь мне здесь, потому что я застрял на некоторое время и мне действительно нужно, чтобы это сработало.

Заранее спасибо за любую помощь !!

1 Ответ

1 голос
/ 02 марта 2011

Можно ли это сделать с помощью JavaScript на стороне клиента?То, что вы хотите сделать, намного проще в Tapestry 5. В Tapestry 4 вы можете сделать несколько странных трюков, таких как рендеринг таблицы в первую очередь, захват выходного HTML-кода, а не вставка его позже на страницу.

С другой стороны, вымог бы предоставить правильные объекты модели для contrib: Table (вместо того, чтобы позволить ему обрабатывать всю работу по разбивке на страницы), и таким образом вы узнаете, прежде чем он отобразит, именно то, что он будет отображать.

...