Question

Je développe une application web-EJB3 Seam-Jsfv1.2. J'ai un datatable et des cases à cocher dans chaque ligne. De plus, j'ai un datascroller au fond de ma table ainsi.

Mon problème est quand je clique sur le numéro de la page de la barre de défilement, les cases sélectionnées à la première page du datatable a disparu. Je veux dire, même si elles ont été sélectionnées, en cliquant la marque page suivante les décochées. Je le vois en remontant à la première page à nouveau en cliquant sur la barre de défilement.

Avez-vous une idée de ce problème? Pour clearify mon cas, j'attaché mon code ci-dessous:

<rich:dataTable
            id="apiV2ProductList" rows="10" var="_apiV2Product"
            value="#{apiV2ProductList.resultList}"
            rendered="#{not empty apiV2ProductList.resultList}" reRender="ds">
            <rich:column>
                <f:facet name="header"> 
                    <h:selectBooleanCheckbox id="selectionCheckAll" onclick="selectAll()" /> 
                </f:facet>
                <h:selectBooleanCheckbox id="selectionCheck" onclick="increase(this)" value="#{_apiV2Product.selectValue}" >  
                </h:selectBooleanCheckbox>
            </rich:column>

...

<f:facet name="footer">
                <rich:datascroller id="ds" renderIfSinglePage="false">
                </rich:datascroller>
            </f:facet>

Un grand merci à l'avance. Baris

Était-ce utile?

La solution 2

Ajout d'une balise de support a4j entre changeurs a résolu mon problème:

<f:facet name="footer">
  <rich:datascroller id="ds" renderIfSinglePage="false">
   <a4j:support event="onpagechange"/> 
  </rich:datascroller>
</f:facet>

Mais l'autre chose est, j'utilise JQuery au style de ma table (ex. De la souris et à l'extérieur), et cette fois-ci, lorsque je clique sur la page suivante de ma table, le style est parti.

Toute aide serait super, merci beaucoup à l'avance.

** PS: BTW la wierest chose à mon esprit est-il me vient impossible de trouver une solution par vous-même pour ce genre de problèmes. Votre création ne peut pas toujours être suffisant pour résoudre (au moins ici dans mon exemple, en ajoutant a4j: chose de soutien) Je demande des experts, comment pouvons-nous gérer ce genre de choses par nous-mêmes ... **

Autres conseils

Vous pouvez étendre la org.richfaces.renderkit.html.DatascrollerTemplate écrire votre propre DataScroller pour votre propre style en ajoutant un composant avec la configuration ci-dessous dans les faces-config.xml

<component>
    <component-type>exCustHtmlDatascroller</component-type>
    <component-lass>org.jsf.common.ui.EXCustHtmlDatascroller</component-class>
</component>
<render-kit>
  <renderer>
      <component-family>org.richfaces.Datascroller</component-family>
      <renderer-type>exCustDataScrollerTemplate</renderer-type>
      <renderer- class>org.jsf.common.ui.EXCustDataScrollerTemplate</renderer-class>
  </renderer>
</render-kit>

Vous n'avez pas besoin jQuery pour le style datatable

<rich:dataTable id="dataTable" var="x"  
onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"

Le problème que vous voyez avec les styles RETIRE est due à la nature de AJAX, et la façon dont la table est nouveau rendu.

En supposant que vous tiriez l'appel de style initial basé sur une certaine forme de page onLoad, la première fois que la page est rendu, vos styles sera appliqué. Toutefois, lorsque vous cliquez sur le bouton « suivant » avec le paginator, vous tirez beaucoup de nouveau vers le bas HTML, et remplacer l'ancien code HTML dans le tableau avec la plus récente, les informations mises à jour. Le problèm vous voyez est ce que vous avez vu styling parce que jQuery appliqué styles à la vieux noeuds, sur rerender, ces nœuds sont complètement jetés loin, avec leur style. Vous avez simplement besoin de comprendre le crochet pour appeler la méthode « Personnaliser le style », et re-exécuter cet appel après la table est réaffichée.

En général, j'utilise un a4j:. Étiquette d'état, et mis en place le onstart ou OnStop à réanalysera la table

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top