Mój problem polega na tym, że próbuję domyślnie umieścić w moim programie datatable kolumnę wyjściową i zastąpić ją tekstem wejściowym po naciśnięciu klawisza polecenia. Nie znalazłem rozwiązania. Pierwszy post przy okazji.a4j: commandRuttering rich: datatable
Mam a4j: CommandButton że szukam reRender tę część mojego DataTable
<a4j:commandButton reRender="yieldTable" action="#{yieldSearch.activateVisible()}"
id="modify" styleClass="editLargeIcon" value="Modify">
</a4j:commandButton>
<rich:dataTable id="yieldTable" value="#{yieldSearch.yfitem.yielditem}" var="_yield">
<rich:column>
<f:facet name="header">%-YLD</f:facet>
<h:outputText value="#{_yield.yfYield}" rendered="#{not yieldSearch.visible}">
</h:outputText>
<h:inputText rendered="#{yieldSearch.visible}" />
</rich:column>
I chciałbym aktywować tę metodę (tylko pokazuje odpowiedni kod)
@Name("yieldSearch")
@Scope(ScopeType.CONVERSATION)
public class YieldSearch implements Serializable{
private Boolean visible;
public void activateVisible(){
this.setVisible(true);
System.out.print(true);
}
public void setVisible(Boolean visible) {
this.visible = visible;
}
public Boolean getVisible() {
return visible;
}
Każda pomoc bardzo doceniane.
W tym przypadku, ' 'działałby jako UIContainer, więc ponowne renderowanie tabeli danych pokaże/ukryje odpowiednio' '/' '. Wygląda na to, że OP nie poradzi sobie z konwersacją scopde dla tej sprawy. –