|
| Choix des colonnes affichable/masquable par l'utilisateur |
| Débuté par forumwd, 10 jan. 2005 14:21 - 3 réponses |
| |
| | | |
|
| |
| Posté le 10 janvier 2005 - 14:21 |
Bonjour,
Sympa l'affichage / maquage des colonnes en natif... mais j'aimerai pouvoir mettre dans ce menu contextuel que les colonnes que je veux bien mettre à dispo !
Ex: une appli avec gestion de droits selon l'utilisateur (lecture seul, lecture+modif, etc.).
Une table liste les utilisateurs : nom-prénom, droits, etc., et -uniquement pour l'administrateur- les mot de passe de chaque utilisateur. Avec le menu d'affichage des colonnes, n'importe quel utilisateur peut afficher la colonne des mot de passe... théoriquement réservé à l'administrateur.
Une solution ?
Windev va évoluer ?? (une case à cocher dans chaque colonne dans la fenêtre à 7onglets serait la bienvenue pour faire apparaitre ou non la colonne dans la liste de choix des colonnes dispo à l'utilisateur) |
| |
| |
| | | |
|
| | |
| |
| Posté le 10 janvier 2005 - 15:16 |
Tout à fait d'accord, cette option est indispensable lorsque l'on a des tables en saisie. De plus, lorsque l'on a des colonnes non visibles, les options du menu contextuel ne fonctionnent plus correctement, il y a un mélange dans les colonnes qui fait que celà devient complétement inexploitable. |
| |
| |
| | | |
|
| | |
| |
| Posté le 10 janvier 2005 - 16:01 |
Pour une appli interne que je développe pour ma boite, j'ai développé tout le code correspondant car: 1. Cet option n'existait pas en Windev8 2. En fait tout ce que vous avez signalé.
J'utilise une fenêtre qui est lancé depuis le menu contextuel de la table à "modifier". Voici par exemple le code qui liste les colonnes qui sont accessibles par l'utilisateur. Le code gère les colonnes qui sont masquées dans l'éditeur, celles qui le sont par le Groupware, et celles que l'on veut "forcer", via le paramètre ListeChampsCachés:
POUR Compteur = 1 A {NomFenetreMere + "." + NomTable}..NombreColonne NomColonne = TableEnumèreColonne(NomFenetreMere + "." + NomTable,Compteur) SI {NomFenetreMere + "." + NomTable + "." + NomColonne}..EtatInitial <> Invisible ET ChaîneOccurrence(listeChampsCaches,NomColonne,MotComplet + SansCasse) = 0 ALORS HLitRecherchePremier(gpwconfigurationelement,Configuration_Element,HConstruitValClé(gpwconfigurationelement,Configuration_Element,gpwRecupInfoUtilisateur(gpwInfoGroupe),NomFenetreMere + "." + NomTable + "." + NomColonne)) SI HTrouve(gpwconfigurationelement) ALORS SI gpwconfigurationelement.etat <> gpwEtatInvisible ALORS TableAjoute(TblLstColPdt,NomColonne + TAB + {NomFenetreMere + "." + NomTable + "." + NomColonne}..Libellé + TAB + {NomFenetreMere + "." + NomTable + "." + NomColonne}..Visible) FIN SINON TableAjoute(TblLstColPdt,NomColonne + TAB + {NomFenetreMere + "." + NomTable + "." + NomColonne}..Libellé + TAB + {NomFenetreMere + "." + NomTable + "." + NomColonne}..Visible) FIN FIN FIN
Les colonnes sont listés dans un champ table, qui permet via un toggle d'afficher/masquer les différentes colonnes, identifiées par leur libelle.
Si ça peux aider quelqu'un, je peux exporter la fenêtre qui gère le tout ( avec des configurations sauvegardées, publiques/privés... ). Attention, mon application n'utilise pas HF (ormis ceux du Groupware ), mais une liaison ODBC, donc les ordres SQL...
Frédéric. |
| |
| |
| | | |
|
| | |
| |
| Posté le 10 janvier 2005 - 18:18 |
Le 10/01/2005, Frédéric DEMILLY a supposé :
Pour une appli interne que je développe pour ma boite, j'ai développé tout le code correspondant car: 1. Cet option n'existait pas en Windev8 2. En fait tout ce que vous avez signalé.
J'utilise une fenêtre qui est lancé depuis le menu contextuel de la table à "modifier". Voici par exemple le code qui liste les colonnes qui sont accessibles par l'utilisateur. Le code gère les colonnes qui sont masquées dans l'éditeur, celles qui le sont par le Groupware, et celles que l'on veut "forcer", via le paramètre ListeChampsCachés:
POUR Compteur = 1 A {NomFenetreMere + "." + NomTable}..NombreColonne NomColonne = TableEnumèreColonne(NomFenetreMere + "." + NomTable,Compteur) SI {NomFenetreMere + "." + NomTable + "." + NomColonne}..EtatInitial <> Invisible ET ChaîneOccurrence(listeChampsCaches,NomColonne,MotComplet + SansCasse) = 0 ALORS HLitRecherchePremier(gpwconfigurationelement,Configuration_Element,HConstruitValClé(gpwconfigurationelement,Configuration_Element,gpwRecupInfoUtilisateur(gpwInfoGroupe),NomFenetreMere + "." + NomTable + "." + NomColonne)) SI HTrouve(gpwconfigurationelement) ALORS SI gpwconfigurationelement.etat <> gpwEtatInvisible ALORS TableAjoute(TblLstColPdt,NomColonne + TAB + {NomFenetreMere + "." + NomTable + "." + NomColonne}..Libellé + TAB + {NomFenetreMere + "." + NomTable + "." + NomColonne}..Visible) FIN SINON TableAjoute(TblLstColPdt,NomColonne + TAB + {NomFenetreMere + "." + NomTable + "." + NomColonne}..Libellé + TAB + {NomFenetreMere + "." + NomTable + "." + NomColonne}..Visible) FIN FIN FIN
Les colonnes sont listés dans un champ table, qui permet via un toggle d'afficher/masquer les différentes colonnes, identifiées par leur libelle.
Si ça peux aider quelqu'un, je peux exporter la fenêtre qui gère le tout ( avec des configurations sauvegardées, publiques/privés... ). Attention, mon application n'utilise pas HF (ormis ceux du Groupware ), mais une liaison ODBC, donc les ordres SQL...
Frédéric.
Bonjour, Je serais intérressé car autre limitation du menu contextuel de WD9 le nombre de colonnes est limité. Merci d'avance.
-- Pascal N0.pascal.SPAM@efpe.biz Ne garder que le prénom pour me joindre |
| |
| |
| | | |
|
| | | | |
| | |
|