Grille est une nouvelle plus puissant composant qui est censé être le successeur de Table (voir La Table est mort, longue vie à la Grille). Donc, il ne devrait pas y avoir besoin de la faveur de Table sur la Grille.
La Grille est actuellement un tout nouveau composant et a quelques problèmes de performance et pas encore toutes les fonctionnalités sont mises en œuvre. Si la grille est la bonne façon de faire, mais parfois, il n'est pas encore la qualité de la production, en fonction de vos besoins.
Grille → Nouveau & Incroyable Table → Vénérable & Fiable
Table est un très bon grille de données d'affichage widget construit dans les premières versions de Vaadin.
Grille est grand de réécriture à partir de zéro, conçu pour remplacer la Table. Le Vaadin de l'équipe est de mettre à profit leurs savoir-faire acquis de l'expérience, “si nous savions alors que nous savons maintenant” afin de rendre le meilleur de grille de données possible, compte tenu du Web d'aujourd'hui de la technologie. La grille est une grosse affaire qu'il obtient ses vanité page. Voir cette société post de blog pour un aperçu rapide.
Ainsi, en règle générale, je vous suggère de l'accent sur la Grille. L'essayer, d'apprendre d'abord, et voir si elle répond à vos besoins. Si vous rencontrez des bugs ou des problèmes, ou si vous avez besoin des fonctionnalités manquent pas dans la Grille, puis de secours à la Table. Vous pouvez mélanger les deux dans un projet, avec l'avertissement que les différents apparence et le comportement peuvent confondre vos utilisateurs.
Pense Grille que la précoce de l'adolescent plein de promesses, et désireux de faire le grand saut dans l'âge adulte, et Table que la maturité adulte travaillant dur dans son premier années du moyen-âge tout en rêvant d'un bien méritée de retraite dans l'avenir de la voile au coucher du soleil.
Détails
Si l'aide de Vaadin 6, sur un projet ou vous avez besoin de l'appui d'anciens navigateurs, puis Table est votre seul choix. Grid nécessite Vaadin 7 ou une version ultérieure.
Voici certaines des principales caractéristiques de la Table actuellement défaut dans la Grille.
Glisser-déposer (au plus tard).
Redimensionner la colonne par l'utilisateur en faisant glisser le bord de la colonne d'en-tête.
Les deux partagent de nombreuses caractéristiques. Ils pratiquent le chargement différé pour le navigateur, le téléchargement automatique des données, au besoin seulement du côté serveur afin de ne pas surcharger le navigateur web. Les deux permettent à l'utilisateur de faire glisser les colonnes de commander à nouveau. Les deux permettent à l'utilisateur d'afficher/masquer les colonnes.
Sélection D'Une Ligne
Les deux permettent de sélectionner des lignes simples ou plusieurs lignes.
Grille dispose également d'une fonctionnalité automatique où il ajoute une colonne de cases à cocher. L'utilisateur peut sélectionner plusieurs lignes en cliquant sur ces cases plutôt que d'utiliser une souris ou souris+clavier. Beaucoup, sinon la plupart, les utilisateurs sont maladroits avec la souris conduit plusieurs lignes de sélection. Voir cette capture d'écran, et de l'avis de la première colonne.
Les deux ont des en-têtes et pieds de page, mais de la Grille a plus d'options. La grille peut placer des widgets au lieu de texte. Grille peut avoir plusieurs lignes d'en-têtes. La grille peut rejoindre cellules d'en-tête, comme sur dans un tableau HTML.
Dans L'Édition
À la fois fournir dans l'édition de données, mais de manière différente. Le tableau permet l'édition des données dans la cellule. La grille a pris une approche différente, pour l'édition de l'ensemble de la ligne par l'affichage d'une mini-fenêtre, un peu de saisie des données de formulaire. Ce formulaire comprend une paire de confirmation & annulation des boutons. Cette forme est beaucoup plus souple que le Tableau de la cellule d'édition.
Filtrage
Grille d'offre contrôlé par l'utilisateur de filtrage, où une rangée de enterable cellules apparaît ci-dessous les en-têtes. Comme les utilisateurs de type un filtre est appliqué pour afficher uniquement les lignes correspondantes. Voir cette capture d'écran. Avec le Tableau, vous devez créer une sorte d'interface utilisateur et d'appliquer le filtrage.
À la fois de Table et de la Grille sont une présentation uniquement widget, soutenu par un autre objet de données de mise en œuvre de la Container interface selon la Vaadin Modèle De Données.
La classe de la Table agit également comme un Conteneur qui toujours me confond. Je suis content de voir la Grille de maintenir une séparation distincte.
Comme la Table, Grille offre quelques méthodes pratiques pour la simple et rapide des situations où vous voulez jeter un peu de données sur la Grille elle-même, sans formellement la production d'un Conteneur. Mais la Grille de la commodité de l'utilisation de méthodes ligne et colonne termes en revanche pour le Conteneur élément et propriété termes. Ces conditions de le rendre plus clair que votre parler à la Grille, mais la Grille est en agissant sur son par défaut ci-joint IndexedContainer exemple sur votre nom.
Cellule de gestion de contenu est différent. La grille ne peut pas afficher directement la colonne d'icônes, ni de placer les composants (widgets) dans une cellule. Plutôt utilisé le nouveau Rendu fonctionnalités.
Ésotérisme... Grille est la première composante de Vaadin Composants, une haute qualité de l'ensemble de Composants Web construit sur Google Polymère qui est prêt à être utilisé avec n'importe quel cadre de travail qui favorise Les Composants Web. Alors que le Vaadin équipe a promis de soutenir la Table depuis des années dans le futur, ne vous attendez pas à recevoir une telle attention.
Vaadin 8
Dans Vaadin 8.0 et 8.1, la Grille est encore mieux. Principales améliorations incluent:
Travaille avec le plus simple épurée modèle de données nouvelles dans Vaadin 8
Passer un collection d'entités pour l'affichage
Facilement définir des colonnes de type-safe lambda syntaxe grid.addColumn( Person::getFirstName ).setCaption( "First Name" );
Plus facile chargement différé des données maintenant que Container est parti: grid.setDataProvider( ( sortorder , offset , limit) -> service.findAll( offset , limit) , () -> service.count() );
La possibilité d'afficher Vaadin composants plutôt que de simplement les convertisseurs
De glisser-déplacer par glisser-déposer de soutien définies par le HTML5.
Encore plus de vitesse
Le composant de Tableau est toujours disponible via la couche de Compatibilité dans Vaadin 8 pour la poursuite de l'utilisation de Vaadin 7 classes.
Avenir
La Vaadin équipe a de grands projets pour la Grille, de sorte que beaucoup de ce que vous lisez sur StackOverflow page va changer. L'équipe sera avec impatience l'ajout de fonctionnalités, améliorations et corrections de bugs dans les mois et années à venir. De nombreuses améliorations ont déjà été apportées à la Grille de sa courte histoire, alors méfiez-vous lors de la lecture des anciens documents sur les limitations ou manquait de fonctionnalités – qui peut ne pas être tellement plus.
En fait, il est possible de mettre en œuvre tout ce que vous voulez avec eux. Mais mon expérience est que la Grille est plus confortable à utiliser.
La Table est facile à comprendre et facile à utiliser pour les tableaux simples (comme vous pouvez le deviner). Donc si vous voulez juste vous montrer quelques lignes de données visualisées bien - utiliser la Table. Il est stable et fonctionne bien sur que.
La Grille ressemble à un Tableau, mais il a quelques fonctionnalités en direction de la Table. Si vous avez tout un tas de données pour rendre la Grille peut mieux le gérer. Il y a aussi une bonne pratique pour le "inline editing" de vos données. Il y a une façon de personnaliser les en-têtes de un quadrillage largement. Si vous voulez faire beaucoup de personnalisation et d'interaction à l'intérieur d'un tableau-comme composante de l'utilisation de la Grille.
Il y a une différence comment vous pouvez sélectionner des lignes ou des cellules dans ces deux composants.
Par exemple, le EventListeners pour la sélection sont utilisés légèrement différentes en ce qui concerne la valeur de retour.
Il y a également une différence dans la façon dont vous ajoutez des colonnes et des lignes, mais c'est juste une mise en œuvre de chose, donc ça ne devrait pas vraiment d'importance.
Dans la table filter ,si nous en cliquant sur l'en-tête de tableau,la première ligne sera defaultly mis en évidence par une méthode appelée setSelectable(true); mais dans la grille de la table il n'y a pas ce type d'action,
Je veux appliquer la même action dans la grille de la table. Est-il possible d'avoir que de la nature? Existe t'il une méthode ou d'un code disponible?
Ci-dessous le code que j'ai utilisé dans ma grille de tableau:
Grille est une nouvelle plus puissant composant qui est censé être le successeur de Table (voir La Table est mort, longue vie à la Grille). Donc, il ne devrait pas y avoir besoin de la faveur de Table sur la Grille.
Ici est une première dans la série des articles de Vaadin aboout la migration de la Table à la Grille:
https://vaadin.com/blog/-/blogs/mission-rip-table-migrate-to-grid-basic
Résumé
Table
est un très bon grille de données d'affichage widget construit dans les premières versions de Vaadin.Grille
est grand de réécriture à partir de zéro, conçu pour remplacer la Table. Le Vaadin de l'équipe est de mettre à profit leurs savoir-faire acquis de l'expérience, “si nous savions alors que nous savons maintenant” afin de rendre le meilleur de grille de données possible, compte tenu du Web d'aujourd'hui de la technologie. La grille est une grosse affaire qu'il obtient ses vanité page. Voir cette société post de blog pour un aperçu rapide.Ainsi, en règle générale, je vous suggère de l'accent sur la Grille. L'essayer, d'apprendre d'abord, et voir si elle répond à vos besoins. Si vous rencontrez des bugs ou des problèmes, ou si vous avez besoin des fonctionnalités manquent pas dans la Grille, puis de secours à la Table. Vous pouvez mélanger les deux dans un projet, avec l'avertissement que les différents apparence et le comportement peuvent confondre vos utilisateurs.
Pense Grille que la précoce de l'adolescent plein de promesses, et désireux de faire le grand saut dans l'âge adulte, et Table que la maturité adulte travaillant dur dans son premier années du moyen-âge tout en rêvant d'un bien méritée de retraite dans l'avenir de la voile au coucher du soleil.
Détails
Si l'aide de Vaadin 6, sur un projet ou vous avez besoin de l'appui d'anciens navigateurs, puis
Table
est votre seul choix.Grid
nécessite Vaadin 7 ou une version ultérieure.Voici certaines des principales caractéristiques de la Table actuellement défaut dans la Grille.
Les deux partagent de nombreuses caractéristiques. Ils pratiquent le chargement différé pour le navigateur, le téléchargement automatique des données, au besoin seulement du côté serveur afin de ne pas surcharger le navigateur web. Les deux permettent à l'utilisateur de faire glisser les colonnes de commander à nouveau. Les deux permettent à l'utilisateur d'afficher/masquer les colonnes.
Sélection D'Une Ligne
Les deux permettent de sélectionner des lignes simples ou plusieurs lignes.
Grille dispose également d'une fonctionnalité automatique où il ajoute une colonne de cases à cocher. L'utilisateur peut sélectionner plusieurs lignes en cliquant sur ces cases plutôt que d'utiliser une souris ou souris+clavier. Beaucoup, sinon la plupart, les utilisateurs sont maladroits avec la souris conduit plusieurs lignes de sélection. Voir cette capture d'écran, et de l'avis de la première colonne.
Le soutien à la programmation de la sélection est différente. Grille de ne pas prolonger
AbstractSelect
, au lieu de définir sa propre sélection de l'API. AppeladdSelectionListener()
et de définir unSelectionListener
. Voir Le Livre De Vaadin.En-têtes et Pieds de page
Les deux ont des en-têtes et pieds de page, mais de la Grille a plus d'options. La grille peut placer des widgets au lieu de texte. Grille peut avoir plusieurs lignes d'en-têtes. La grille peut rejoindre cellules d'en-tête, comme sur dans un tableau HTML.
Dans L'Édition
À la fois fournir dans l'édition de données, mais de manière différente. Le tableau permet l'édition des données dans la cellule. La grille a pris une approche différente, pour l'édition de l'ensemble de la ligne par l'affichage d'une mini-fenêtre, un peu de saisie des données de formulaire. Ce formulaire comprend une paire de confirmation & annulation des boutons. Cette forme est beaucoup plus souple que le Tableau de la cellule d'édition.
Filtrage
Grille d'offre contrôlé par l'utilisateur de filtrage, où une rangée de enterable cellules apparaît ci-dessous les en-têtes. Comme les utilisateurs de type un filtre est appliqué pour afficher uniquement les lignes correspondantes. Voir cette capture d'écran. Avec le Tableau, vous devez créer une sorte d'interface utilisateur et d'appliquer le filtrage.
Soutenu Par Conteneur De Données
Mise à JOUR: Vaadin 8 apporte une nouvelle version de la Grille qui exploite une nouvelle amélioration et grandement simplifié du modèle de données. C'est un majeur raison d'utiliser la Grille au lieu de la Table. Il est à noter que la Grille d'origine ainsi que la Table sont toujours disponibles dans Vaadin 8 via le Vaadin 7 couche de compatibilité.
Suivant les anciennes infos laissées intactes...
À la fois de Table et de la Grille sont une présentation uniquement widget, soutenu par un autre objet de données de mise en œuvre de la
Container
interface selon la Vaadin Modèle De Données.La classe de la Table agit également comme un Conteneur qui toujours me confond. Je suis content de voir la Grille de maintenir une séparation distincte.
Comme la Table, Grille offre quelques méthodes pratiques pour la simple et rapide des situations où vous voulez jeter un peu de données sur la Grille elle-même, sans formellement la production d'un Conteneur. Mais la Grille de la commodité de l'utilisation de méthodes ligne et colonne termes en revanche pour le Conteneur élément et propriété termes. Ces conditions de le rendre plus clair que votre parler à la Grille, mais la Grille est en agissant sur son par défaut ci-joint
IndexedContainer
exemple sur votre nom.Contenu De La Cellule
Mise à JOUR: Dans Vaadin 8.1 de la Grille, les gains de la capacité d'afficher un Composant dans une cellule. Voir un démonstration en direct de la Composante moteur de Rendu.
Cellule de gestion de contenu est différent. La grille ne peut pas afficher directement la colonne d'icônes, ni de placer les composants (widgets) dans une cellule. Plutôt utilisé le nouveau
Rendu
fonctionnalités.Doc & Démo
À la fois avoir un chapitre dans Le Livre De Vaadin, l'un pour la Table et l'un pour la Grille.
Ont tous les deux un de démonstrations en direct. L'un pour la Table (et TreeTable). Et un couple de la Grille, une fenêtre et l'un des divers aspects.
Voir ce brochure page pour la Grille, y compris incorporée démo en live, avec un lien pour de plus amples démonstrations.
Divers Différences
De la grille a un widget intégré pour l'affichage d'un nombre comme un petit thermomètre widget. Voir cette capture d'écran, dans la dernière colonne.
Pour plus de différences spécifiques, voir la section 5.24.1 vue d'ensemble – les Différences De Table dans Le Livre De Vaadin.
Ésotérisme... Grille est la première composante de Vaadin Composants, une haute qualité de l'ensemble de Composants Web construit sur Google Polymère qui est prêt à être utilisé avec n'importe quel cadre de travail qui favorise Les Composants Web. Alors que le Vaadin équipe a promis de soutenir la Table depuis des années dans le futur, ne vous attendez pas à recevoir une telle attention.
Vaadin 8
Dans Vaadin 8.0 et 8.1, la Grille est encore mieux. Principales améliorations incluent:
grid.addColumn( Person::getFirstName ).setCaption( "First Name" );
Container
est parti:grid.setDataProvider( ( sortorder , offset , limit) -> service.findAll( offset , limit) , () -> service.count() );
Le composant de Tableau est toujours disponible via la couche de Compatibilité dans Vaadin 8 pour la poursuite de l'utilisation de Vaadin 7 classes.
Avenir
La Vaadin équipe a de grands projets pour la Grille, de sorte que beaucoup de ce que vous lisez sur StackOverflow page va changer. L'équipe sera avec impatience l'ajout de fonctionnalités, améliorations et corrections de bugs dans les mois et années à venir. De nombreuses améliorations ont déjà été apportées à la Grille de sa courte histoire, alors méfiez-vous lors de la lecture des anciens documents sur les limitations ou manquait de fonctionnalités – qui peut ne pas être tellement plus.
En fait, il est possible de mettre en œuvre tout ce que vous voulez avec eux. Mais mon expérience est que la Grille est plus confortable à utiliser.
La Table est facile à comprendre et facile à utiliser pour les tableaux simples (comme vous pouvez le deviner). Donc si vous voulez juste vous montrer quelques lignes de données visualisées bien - utiliser la Table. Il est stable et fonctionne bien sur que.
La Grille ressemble à un Tableau, mais il a quelques fonctionnalités en direction de la Table. Si vous avez tout un tas de données pour rendre la Grille peut mieux le gérer. Il y a aussi une bonne pratique pour le "inline editing" de vos données. Il y a une façon de personnaliser les en-têtes de un quadrillage largement. Si vous voulez faire beaucoup de personnalisation et d'interaction à l'intérieur d'un tableau-comme composante de l'utilisation de la Grille.
Voir les caractéristiques ici:
https://vaadin.com/grid
http://demo.vaadin.com/sampler/#ui/grids-and-trees/grid
Il y a une différence comment vous pouvez sélectionner des lignes ou des cellules dans ces deux composants.
Par exemple, le EventListeners pour la sélection sont utilisés légèrement différentes en ce qui concerne la valeur de retour.
Il y a également une différence dans la façon dont vous ajoutez des colonnes et des lignes, mais c'est juste une mise en œuvre de chose, donc ça ne devrait pas vraiment d'importance.
Dans la table filter ,si nous en cliquant sur l'en-tête de tableau,la première ligne sera defaultly mis en évidence par une méthode appelée setSelectable(true); mais dans la grille de la table il n'y a pas ce type d'action,
Ci-dessous le code que j'ai utilisé dans ma grille de tableau: