Skip to main content

Comment créer un lien entre les lignes de deux tableaux ?

Le principe. Il est possible de créer des liens entre tableaux RowShare, et plus précisément entre les lignes d'un tableau et celles d'un autre tableau. On peut par exemple imaginer des liens entre d…

Pierre Collinet
Mis à jour par Pierre Collinet

Le principe

Il est possible de créer des liens entre tableaux RowShare, et plus précisément entre les lignes d'un tableau et celles d'un autre tableau.

On peut par exemple imaginer des liens entre des commandes et des clients, des rendez-vous et des salariés, des candidatures et des postes ouverts, des tâches et leur projet de rattachement... Votre imagination est la limite.

Le lien entre deux tableaux se matérialise par le fait que certaines colonnes d'un tableau s'affichent dans l'autre tableau.

Le tableau qui fournit ces colonnes est appelé le tableau parent, celui qui les affiche est le tableau enfant, et les colonnes ainsi affichées sont les colonnes parent.

En reprenant l'exemple des commandes et des clients, pour chaque commande, on sélectionne un client. Alors certaines informations propres au client (comme son adresse) apparaitront dans le tableau des commandes sans avoir besoin de les resaisir. Toute mise à jour dans le tableau des clients est reflétée en temps réel dans celui des commandes.

Une colonne parent peut à son tour être exposée à un troisième tableau.

Le tableau Commandes affiche le secteur du client, repris du tableau Clients. Un tableau Livraisons lié au tableau Commandes peut à son tour afficher ce secteur : l'information n'est saisie qu'une seule fois, dans le tableau Clients.

Configuration : Créer le lien entre les tableaux

Il vous faut bien entendu deux tableaux :

  • le tableau parent : celui qui contient les données que vous voulez réutiliser ailleurs
  • le tableau enfant dans lequel vous souhaitez afficher ces données

Dans le tableau enfant, ajoutez une colonne "Ligne d'un autre tableau" dans la catégorie "Listes de choix" :

Les paramètres de cette nouvelle colonne apparaissent, il vous faut alors :

  1. Retrouver le tableau parent dans la liste de vos tableaux
  2. Choisir les colonnes que vous voulez afficher dans votre tableau enfant, puis cliquer sur la flèche vers la droite pour les sélectionner (ici : Client Name et Client Address)

C'est tout ! Revenez à votre tableau, rafraichissez la page si nécessaire, et ces nouvelles colonnes apparaissent dans votre tableau. Pour l'instant, elles sont vides : c'est normal.

Pour modifier l'ordre des colonnes, le plus simple est de les faire glisser dans le tableau lui-même.

Options avancées : filtrer et trier les lignes disponibles

Lors de la sélection d'une ligne dans le tableau parent, la liste proposée peut être longue. Vous pouvez la restreindre et/ou la trier pour faciliter l'identification de la ligne recherchée, via les Options avancées des paramètres de la colonne.

Accéder aux options avancées

Dans les paramètres de la colonne "Ligne d'un autre tableau", cliquez sur Options avancées pour afficher deux champs supplémentaires : Filtre et Tri.

Filtrer les lignes disponibles

Le champ Filtre permet de n'afficher que certaines lignes du tableau parent dans la popup de sélection. La valeur doit être saisie selon le format suivant (c'est du JSON) :

[{"col": "NomDeLaColonne", "val": ["Valeur1", "Valeur2", ""]}]

Le filtre porte sur une seule colonne du tableau parent :

  • col : le nom exact de la colonne du tableau parent sur laquelle porte le filtre
  • val : la liste des valeurs autorisées. La chaîne vide "" permet d'inclure les lignes dont cette colonne ne contient rien.

Exemple : pour n'afficher que les lignes dont la colonne Client vaut "SoftFluent", "RowShare" ou est vide, saisissez :

[{"col": "Client", "val": ["SoftFluent", "RowShare", ""]}]

Le filtre ne porte que sur une seule colonne, avec autant de valeurs que nécessaire. Pour filtrer sur deux critères, ajoutez au tableau parent une colonne qui les combine, par exemple Type et État, et filtrez sur cette colonne.
Le filtre n'agit qu'au moment de la sélection. Si une ligne parente cesse de passer le filtre, les lignes enfants qui lui sont déjà rattachées gardent leur lien et les valeurs affichées.

Trier les lignes disponibles

Le champ Tri permet de définir l'ordre dans lequel les lignes s'affichent dans la popup de sélection. Il suffit d'indiquer le nom exact de la colonne du tableau parent sur laquelle le tri doit s'effectuer.

Exemple : pour trier les choix par ordre alphabétique de la colonne Client, saisissez :

Client

Le tri et le filtre sont indépendants : vous pouvez utiliser l'un, l'autre, ou les deux.

Utilisation : Sélectionner les lignes du tableau parent

Les colonnes ont été ajoutées tout à droite du tableau sous un groupe de colonnes. Vous pouvez les déplacer en faisant glisser l'en-tête du groupe. Si vous faites glisser juste une des nouvelles colonnes, elle pourra se déplacer au sein du groupe de colonnes.

Dans ces nouvelles colonnes, double-cliquez sur n'importe quelle ligne pour choisir une ligne du tableau parent. RowShare vous présente un résumé de chaque ligne à laquelle vous avez accès dans le tableau parent. N'hésitez pas à utiliser la recherche pour trouver la ligne qui vous intéresse.

En poursuivant l'exemple des clients et commandez : dans votre tableau de Commandes, double-cliquez sur vos nouvelles colonnes Client. Puis sélectionnez un client dans la liste.
RowShare ne vous laissera pas créer une boucle : un tableau lié à un autre tableau, lui-même lié au premier tableau (même avec des tableaux supplémentaires entre eux). Par exemple, si le tableau Commandes fait référence au tableau Clients, le tableau Client ne peut pas faire référence au tableau Commandes.

Cette page vous a-t-elle aidé ?

Comment paramétrer vos colonnes RowShare ?

Contact