2017-09-11 6 views
0

Dans l'application Vaadin Framework 8.1, sur le widget Grid, comment effacer un column renderer après l'avoir défini? Nous pouvons définir un moteur de rendu sur un Grid.Column en appelant setRenderer. Comment l'annuler?Effacer le moteur de rendu d'une colonne Grid dans Vaadin 8.1

Passer null résultats dans une NullPointerException:

java.lang.NullPointerException: Renderer ne peut être nul

Le comportement par défaut avant de l'être semble renderer appeler simplement sur toString les objets de la colonne.

➟ Comment revenir à ce comportement par défaut?

+0

Quel est votre cas d'utilisation pour effacer le moteur de rendu? Ou pour changer le rendu après la création de la colonne? –

+0

@SteffenHarbich L'utilisateur souhaite changer sa vue des données. Changez le fuseau horaire selon les valeurs date-heure, ou convertissez l'argent en plusieurs devises, ou arrondissez les nombres pour faciliter la numérisation ou affichez une précision précise, ou indiquez le nombre en notation scientifique ou non, ou modifiez le schéma d'utilisation des caractères d'icônes tels que RottenTomatoes.com -meter, et ainsi de suite. –

Répondre

1

Il est impossible de demander à Vaadin de revenir aux valeurs par défaut. Avant de définir le nouveau rendu, vous pouvez demander le rendu par défaut existant.

Renderer<?> r = this.columnInstant.getRenderer() ; 

Ensuite, réappliquez-le plus tard.

myGridColumn.setRenderer(r) ; 

Généralement, le moteur de rendu par défaut est com.vaadin.ui.renderers.TextRenderer. Vous pouvez instancier un nouveau si cela est plus pratique que de conserver une référence à l'ancien.

myGridColumn.setRenderer(new com.vaadin.ui.renderers.TextRenderer()) ;