Zuerst möchte ich Stapelüberlauf danken, um so fantastisch zu sein und fast alles zu beantworten, was wir brauchen. Aber wieder bin ich an etwas hängen geblieben und brauche Hilfe .Mein Problem ist dass mein columntoggler keine schließen-Schaltfläche oben rechts hat (also, wenn p: poll die Datentabelle aktualisiert, schließt die Toggle nicht und jedes Mal, wenn ich die ganze Seite aktualisieren muss :() .So, müssen wir jquery hinzufügen das, oder etwas, das ich wrong.Please vorschlagen me.Thank tue SieKann columntoggler nach Umfragen nicht schließen
<h:form rendered="#{bean.value!=null}" >
<p:dataTable id="tab" var="var" value="#{bean.value}" >
<f:facet name="header">
Header for dataTable
<p:commandButton style="float:right" id="toggler" type="button" value="Columns" icon="ui-icon-calculator" />
<p:columnToggler datasource="tab" trigger="toggler">
<p:ajax event="toggle" listener="#{bean.onToggle}" />
</p:columnToggler>
</f:facet>
<p:column visible="#{bean.list[0]}">
<f:facet name="header"><h:outputText value="Start"/>
</f:facet>
<h:outputText value="#{var.startTime}">
<f:convertDateTime pattern="dd.MM.yyyy" />
</h:outputText>
</p:column>
<p:column visible="#{bean.list[1]}">
<f:facet name="header"><h:outputText value="End"/>
</f:facet>
<h:outputText value="#{var.endTime}" >
<f:convertDateTime pattern="dd.MM.yyyy" />
</h:outputText>
</p:column>
<p:column visible="#{bean.list[2]}">
<f:facet name="header"><h:outputText value="Name"/>
</f:facet>
<h:outputText value="#{var.name}" >
</h:outputText>
</p:column>
</p:dataTable>
<p:poll interval="10" update="tab" />
</h:form>
Hm, normalerweise wird der Toggler geschlossen, wenn Sie irgendwo außerhalb des Toggle-Panels klicken oder auf die Schaltfläche klicken, die dem Toggler zugeordnet ist. Das Problem kann also nur auftreten, wenn Sie den Toggler geöffnet haben und Sie darauf warten, dass das Poll-Skript ausgeführt wird. Ich denke nicht, dass dies ein normaler Anwendungsfall ist. Aber ein einfacher Ansatz wäre, den Befehl über JavaScript wie PF ('toggler') zu klicken. wenn das Umfrageereignis eintritt. Sie können das p: poll-Attribut oncomplete verwenden, um dies zu tun – ScreamingTree
versucht, funktioniert aber nicht :( –
Learner
Vielleicht versuchen document.getElementById ('tab: toggler'). Click(); – ScreamingTree