AXOPEN

ERREUR : Problème de sélection multiple des lignes d’un tableau (client léger)

Description          

En client léger lorsque l’on souhaite sélectionner les lignes ou les cellules d’un tableau la sélection ne semble pas fonctionner correctement (une partie des cellules sélectionnées ne le restent pas). C’est le cas en particulier lorsque les lignes/cellules sélectionnées ne sont pas affichées en même temps à l’écran (c’est à dire lorsqu’il est nécessaire d’utiliser la barre de défilement). On constate souvent ce problème lorsque l’on utilise la fonction copier/coller puisqu’une partie des cellules ne sera pas copiée.

Cause

Il existe un paramètre OPX2 qui définit le nombre maximum de cellules chargées en cache dans un tableau sur un poste bureautique en client léger. Ceci permet d’éviter de dégrader les performances d’affichage pour les tableaux contenant un grand nombre de cellules.

Il s’agit des paramètres suivants :

  • Intranet Server > Nombre maximum de cellules envoyées à un tableau JAVA autonome

Ce paramètre permet de limiter la quantité d’information envoyée à l’applet

JAVA, dans le cas de gros tableaux de données, si le nombre de cellules du tableau

excède cette limite, seule la page affichée est envoyée à l’applet.

  • Intranet Server > Nombre maximum de cellules envoyéees à  un tableau autonome en mode AJAX

Ce paramètre permet de limiter la quantité d’information envoyée au navigateur,

dans le cas de gros tableaux de données, si le nombre de cellules du tableau

excède cette limite, seule la page affichée est envoyée.

Dans le cas d’un tel tableau, les données envoyées à l’applet sont donc limitées à celles affichées à l’écran. Il ne sera donc pas possible d’étendre la sélection de cellules dans ce tableau au delà des cellules affichées. Par conséquence, la fonction de copier/coller, par exemple, ne pourra pas être réalisée sur la totalité des données de la table mais seulement sur celles affichées à l’écran.

Le caractère « aléatoire » du problème vient justement de la valeur de ces paramètres et de la taille des tableaux affichés. Par exemple, si on fixe les paramètres à 5 000, une sélection de dans un tableau de 2 000 cellules ne posera aucun problème même si les données ne sont pas affichable en même temps à l’écran car toutes les données du tableau seront chargées dans le cache de l’applet ou du navigateur. En revanche pour un tableau de 6 000 cellules il ne sera pas possible de sélectionner plus de cellules que celles affichées à l’écran.

Résolution

L’augmentation de la valeur des paramètres précédents peut poser des problèmes de performance. Elle n’est donc pas une solution générale au problème rencontré. En fonction du besoin réel des utilisateurs il peut être envisagé un export « Excel » ou pdf des données du tableau. Il sera donc nécessaire de revenir au besoin fonctionnel pour élaborer une solution adaptée permettant de contourner cette limite technique. Pour rappel, en client lourd ce problème ne se pose pas car toutes les données sont chargées.