powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / RichFaces rich:dataTable неправильно перерисовывается после ajax-вызова
1 сообщений из 1, страница 1 из 1
RichFaces rich:dataTable неправильно перерисовывается после ajax-вызова
    #38242646
Африканец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi All,

На форме есть конструкция следующего вида (новое значение из поля h:inputText по нажатию кнопки должно быть добавлено в таблицу, при нажатии линка a4j:commandLink соответствующая строка должна быть удалена)

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<h:dataTable var="item" value="#{runReportBean.report.parameters}">
	...
	<!--  Parameter value(s) column -->
	<h:column>
		<!-- Multiple values parameter without list of allowed values -->
		<a4j:outputPanel id="multiplePanel">
			<h:inputText 
				value="#{runReportBean.multipleValueToAdd}" 
				rendered="#{item.paramShow and item.multiple and empty(item.paramClass)}"/>
			<a4j:commandButton
				type="submit" 
				execute="@form"
				value="Add Value" 
				rendered="#{item.paramShow and item.multiple and empty(item.paramClass)}"
				action="#{runReportBean.addMultipleValue(item.id)}" 
				render="multiplePanel"
			/>
			
			<rich:dataTable 
				var="value" 
				rowKeyVar="recordNumber" 
				value="#{runReportBean.paramValues[item.id]}" 
				rendered="#{item.paramShow and item.multiple and empty(item.paramClass)}">
		                <rich:column>
		                    <f:facet name="header">
		                        <h:outputText value="Value" />
		                    </f:facet>
		                    <h:outputText value="#{value}"/>
		                </rich:column>
		                <rich:column style="align: center;">
					<a4j:commandLink 
						execute="@this" 
						render="multiplePanel" 
						action="#{runReportBean.removeMultipleValue(item.id, recordNumber)}" 
						immediate="true">
						<h:graphicImage value="/images/icons/delete.gif" alt="Delete Annual Limit" />
					</a4j:commandLink>							                
				</rich:column>
			</rich:dataTable>
		</a4j:outputPanel>
	</h:column>
</h:dataTable>			



Почему-то при нажатии на кнопку a4j:commandButton таблица перерисовывается с одной (пустой) строкой, а при нажатии на линк a4j:commandLink таблица перерисовывается пустой.

Вместо таблицы пробовал вставлять ui:repeat следующего вида, он все отражает правильно. Методы removeMultipleValue() и addMultipleValue() отрабатывают правильно, содержимое runReportBean.paramValues[item.id] правильное.

Код: xml
1.
2.
3.
4.
<ui:repeat var="rec" value="#{runReportBean.paramValues[item.id]}" 
 rendered="#{item.paramShow and item.multiple and empty(item.paramClass)}">
	<h:outputText value="#{rec}" />;
</ui:repeat>



Подскажите, что я делаю не так?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / RichFaces rich:dataTable неправильно перерисовывается после ajax-вызова
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]