2009-10-16 5 views
0

J'utilise le composant extendedDataTable de richfaces et j'ai besoin d'étendre la hauteur de la grille pour afficher toutes les lignes sans utiliser de scroller. Pour ce faire, j'ai ajouté une méthode de script Java pour exécuter le chargement de la page. Cette méthode vise à redimensionner la grille.extendedDataTable redimensionner

La raison pour laquelle je ne pouvais pas faire cela dans le code est que je ne connais pas la hauteur de chaque ligne car elle n'est pas corrigée parce que le retour à la ligne est autorisé.

Mon problème est, lorsqu'une action ajax se produit et que extendedDataTable a rendu l'onLoad n'est pas exécuté à nouveau. Alors Comment puis-je exécuter une méthode javascript après l'achèvement d'une requête ajax?

Merci

+0

Quel composant demande ajax générer qui devrait changer la taille de la table de données? – cetnar

Répondre

0

Etes-vous définissant explicitement l'attribut « hauteur » pour la extendedDataTable ou pour la div qui l'enferme. Eh bien, j'ai fait un genre d'application similaire, dans lequel la taille extendedDataTable ne devrait pas dépasser certaines limites fixes (disons 600px X 600px). Similaire à des colonnes individuelles, qui sont de largeur fixe (disons 60px). C'est ce que je fais en définissant explicitement la propriété "width" pour rich: extendedDatatable et rich: column to fixed dimension. Ainsi, si le nombre de lignes est dépassé, la barre de défilement apparaît. Maintenant, je veux que mes données (qui est une très très longue chaîne) dans chaque cellule soient enveloppées, et ne dépassent pas la largeur de colonne donnée (60px), mais pas capable de le faire? Actuellement, extendedDataTable tronque la chaîne pour le premier 60px et met ... après cela !! Ce serait génial si vous pouvez donner un aperçu à ce sujet.

Cordialement, KB

0

Au lieu d'essayer d'écouter de la table de données étant nouveau rendu, enveloppent la table et votre JavaScript dans un autre composant, comme un h: panelGroup. Attribuez un identifiant au h: panelGroup et renvoyez-le à la place du riche: dataTable.

0

Utiliser style = "height: auto;", comme:

<rich:extendedDataTable id="tableId" value="#{someModel.someValues}" var="someVar" style="height:auto;"> 
    <!-- ... --> 
</rich:extendedDataTable>