Richfaces 4 с возможностью ввода данных с событием onclick в строке

#java #ajax #jsf-2 #richfaces

#java #ajax #jsf-2 #richfaces

Вопрос:

У меня есть простой Richfaces 4 <rich:dataTable> с некоторыми <rich:column> s.

Теперь я хочу, чтобы, если я нажму на одну строку, под таблицей должен отображаться идентификатор строки.

Вот что я сделал до сих пор:

 <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, onclick в этом <td> элементе ничего нет.

У кого-нибудь есть идея?

Ответ №1:

привет, друг, взгляни на rich: extended datatable, я использовал его для выполнения задачи, соответствующей вашим требованиям. вот демонстрация для richfaces 4 и объясняет использование расширенной datatable: http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?demo=extendedDataTableamp;sample=exTableSelectionamp;skin=blueSky ваше здоровье

Комментарии:

1. Добро пожаловать в StackOverflow scox. Это не конкретный ответ на проблему OP. Пожалуйста, отправьте более прямой / полезный ответ. Приветствия