[t5.2.6] Создание зон внутри цикла, затем обновление некоторых из них - PullRequest
0 голосов
/ 05 сентября 2011

Я пытался сделать это в течение некоторого времени, но ничего не получалось.Я искал этот список и до сих пор не могу понять его !!

Вот мой случай, я рисую таблицу, используя измерения, предоставленные в контексте активации страницы.Поэтому я не могу предсказать, сколько у меня может быть строк или столбцов.Каждый заголовок в столбцах имеет поле выбора, как и каждая строка в самой левой ячейке.Каждое поле выбора должно обновлять всю строку или столбец, в зависимости от того, в каком поле выбора было изменено его значение.

Вот часть файла tml моей страницы для более подробной информации."???"Я просто не знаю, что мне нужно выбрать для обновления зон, но я просто не знаю, что здесь поставить!

<t:form>
    <div style="overflow: auto;">
        <table class="contentpane skyTable" width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
            <tr>
                <td bgcolor="lightgray"/>
                <td t:type="loop" t:source="1 .. width" t:value="widthIndex">
                    ${widthIndex} - <t:select t:id="toNode" model="toProbesModel" zone="???"/>
                </td>
            </tr>
            <tr t:type="loop" t:source="1 .. height" t:value="heightIndex">
                <td>${heightIndex} - <t:select t:id="fromNode" model="fromProbesModel" zone="???"/></td>
                <t:loop t:source="1 .. width" t:value="widthIndex">
                    <td row="${heightIndex}" col="${widthIndex}" from="" to="" style="background-color: #BDBDBD;">
                        <t:zone id="${widthIndex}-${heightIndex}">
                            N/A
                        </t:zone>
                    </td>
                </t:loop>
            </tr>
        </table>
    </div>
</t:form>

Вся идея в том, чтобы добавить больше информации в запрос XHR, это, скорее всего, будетпомощь, чтобы исправить мою проблему.

Если это не возможно в данный момент.Может быть, кто-то может помочь мне запросить фрагменты страниц для загрузки, используя прототип ajax-вызовов, а не возможности гобелена, хотя я ненавижу это !!Я хочу быть хорошим, используя tapestry:)

Также мне нужно изменить обновляемый атрибут «style» для ячеек, чтобы добавить изображение в качестве фона и удаленного атрибута, когда ячейка полностью обновляется.Просто чтобы показать загрузчик gif.

Кроме того, предполагая, что столбец будет обновлен из-за изменения выбранного значения, каждая ячейка в этом столбце должна иметь определенный атрибут, измененный на новое значениевыберите поле.И та же история со строками.Каждая ячейка, которую нужно обновить в строке, должна иметь определенный атрибут, который должен быть изменен на значение поля выбора.Эти атрибуты будут в элементе "td".

Для того, чтобы летом это произошло, мне нужно собрать некоторые параметры со страницы на стороне клиента и добавить контекст активации зоны, который совпадает сстраницы, но я могу определить, является ли это запросом XHR оттуда.

У меня уже есть эта работа с использованием сервлетов, но я ЛЮБЛЮ использовать вместо этого гобелен:)

Большое спасибо.

1 Ответ

1 голос
/ 10 сентября 2011

Указанная вами зона должна быть просто любой существующей зоной.Какой из них на самом деле не имеет значения, так как вам нужно будет указать сторону сервера в вашем методе события, какую зону обновлять каким содержимым, используя MultiZoneUpdater.Посмотрите этот пример о том, как.

В другой заметке, если вы создаете заголовок таблицы, вы можете использовать теги THEAD, TH и TBODY вместо использованияregulair old TR TD combo.

...