【发布时间】:2011-12-01 16:51:04
【问题描述】:
我有一个简单的 Richfaces 4 <rich:dataTable> 和一些 <rich:column>s。
现在,如果我按下一行,我希望在表格下方显示该行的 ID。
这是我到目前为止所做的:
<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>
托管 bean 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 源代码,onclick 在那个 <td> 元素处没有任何内容。
有人有想法吗?
【问题讨论】: