2015-10-20 3 views
3

J'ai plusieurs colonnes dans une grille Vaadin qui contiennent uniquement des valeurs d'éléments qui se trouvent dans un conteneur triable, mais elles sont également ajoutées en tant que propriétés générées en raison du fait qu'il doit y avoir étiquette de titre HTML personnalisée pour aller avec la valeur. Avec Generated Property et HtmlRenderer cela fonctionne et rend bien, mais les utiliser rend toutes les colonnes non-supportables. Avec un tableau, cela pourrait être fait avec un CellStyleGenerator, mais il y a plusieurs avantages avec la grille. Est-il possible de résoudre ce problème et rendre les colonnes à nouveau triables? L'utilisation d'un HtmlRenderer avec un convertisseur devrait fonctionner autrement, mais j'ai besoin de la référence d'objet elle-même et pas seulement du champ que le convertisseur possède, car la balise de titre html doit contenir des méta-informations.Grille Vaadin avec propriétés générées et tri

Répondre

2

Je suis récemment tombé sur le même problème si j'ai bien compris votre question.


Pour moi, pour que les colonnes générées sortable, je devais passer outre la méthode getSortProperties() lors de la fourniture du ValuGenerator<T> au GeneratedPropertyContainer:

GeneratedPropertyContainer container = new GeneratedPropertyContainer(originalContainer); 
container.addGeneratedProperty("property-id", new PropertyValueGenerator<T>() { 

    [...] 

    @Override 
    public SortOrder[] getSortProperties(SortOrder order) { 
    return new SortOrder[] {order}; 
    } 
}); 
+0

J'ai essayé d'obtenir le même et a ajouté la méthode getSortProperties suggéré . Les indicateurs de tri apparaissent dans l'en-tête de colonne lorsque vous cliquez dessus, mais le tri de la Grille ne change pas. Ce problème vous est-il familier? Pouvez-vous fournir le code complet de la classe anonyme PropertyValueGenerator? –