удаление строк в rich: extendedDataTable - PullRequest
1 голос
/ 29 сентября 2011

У меня есть rich:extendedDataTable. У меня есть a4j:commandLink для каждой строки, по щелчку этой строки должна быть удалена. Проблема, с которой я сталкиваюсь, заключается в том, что, если я продолжаю удалять первые строки, значение (firstRow + 1) второй строки устанавливается в компоненте поддержки, и всегда вторая строка удаляется.

HTML-код

<a4j:commandLink id="acceptbtn"
                            action="#    {archiveOrderBean.acceptOrder}"
                            styleClass="beforeSelect" title="#{mnOrdrMsgs.startitle}"
                            onclick="animateRow(this);" reRender="auftragListNew">
                            <f:setPropertyActionListener value="#{archive}"
                                target="#{archiveOrderBean.currentOrder}" />
                                <f:setPropertyActionListener value="#{row}"
                                target="#{archiveOrderBean.currentRow}" />
                            <h:graphicImage value="/images/tick.png"
                                style="border:0;vertical-align: top;" />
                            <a4j:support event="onclick" reRender="newclassification"
                                onsubmit="javascript:blockFullScreen('Loading...Please wait');"
                                oncomplete="javascript:myJQuery.unblockUI();" />
                        </a4j:commandLink>

Я также попытался перерисовать таблицу, но значение в пользовательском интерфейсе все еще не синхронизировано с данными вспомогательного компонента. У кого-нибудь есть решение этого. Я не знаю, если это проблема с версией richfaces 3.3.3. В дополнение к действию у меня также есть код jquery, который мерцает строку и удаляет полный <tr>.

Любая помощь по этому вопросу будет очень полезна.

1 Ответ

0 голосов
/ 30 сентября 2011

Слайд-переключатель JQuery удаляет <tr> из таблицы rich: extendedDataTable, а когда deleteObject выполняется на основе rich:extendedDataTable, он всегда удаляет вторую строку, так как первый tr уже удален JQuery, который не отображается.Мне удалось сделать это в 3 этапа: a4j:commandLink

  1. атрибут onClick: RowFlicker JQuery
  2. атрибут действия: удалить объект из списка бэк-бина и таблицы reRender
  3. атрибут oncomplete: RowRemove с использованием JQuery
...