У меня есть простые Richfaces 4 <rich:dataTable>
с некоторыми <rich:column>
с.
Теперь я хочу, чтобы при нажатии на одну строку под таблицей отображался идентификатор строки.
Вот что я сделал до сих пор:
<rich:dataTable value="#{placeholder_control.lichtList}" var="licht" width="100%" id="lichtListe" columns="2">
<rich:column>
<f:facet name="header">
<h:outputText value="Beschreibung" />
</f:facet>
<h:outputText value="#{licht['beschreibung'].stringValue}" width="20" />
<a4j:ajax immediate="true" event="onclick" render="testingID" listener="#{placeholder_control.selectActiveLight}">
<f:attribute name="rowKey" value="#{licht['id'].stringValue}" />
</a4j:ajax>
</rich:column>
...
...
<h:outputText value="This is the id : #{placeholder_control.selectedLight}" id="testingID"></h:outputText>
Управляемый компонент placeholder_control
выглядит так
@ManagedBean (name="placeholder_control")
@SessionScoped
public class ControlPlaceholder {
public void selectActiveLight(ActionEvent evt) {
String selectedRow = (String) evt.getComponent().getAttributes().get("rowKey");
System.out.println("Selected Light : " + selectedRow);
setSelectedLight(selectedRow);
}
Все будет отображаться правильно, но если я нажму на строку (в этом столбце), ничего не произойдет. Я также попытался поставить несуществующий метод (специально) для слушателя. Я надеялся, что получаю сообщение об ошибке, но ничего не произошло.
Если я посмотрю на исходный код HTML, в этом элементе <td>
ничего нет.
У кого-нибудь есть идея?