Richfaces 4 Datatable with onclick Event on row

时间:2011-10-05 17:51:03

标签: java ajax jsf-2 richfaces

我有一个简单的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>就没有了。

有人有想法吗?

1 个答案:

答案 0 :(得分:-1)

嗨朋友看看富人:扩展数据表,我用它做一个符合你要求的任务。 这里是richfaces 4的展示,并解释了扩展数据表的使用:http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?demo=extendedDataTable&sample=exTableSelection&skin=blueSky 欢呼声