|
| Home → WINDEV 2025 → Restaurer l'ordre des colonnes par défaut d'un champ table. |
| Restaurer l'ordre des colonnes par défaut d'un champ table. |
| Started by obtuli, Feb., 22 2024 3:03 PM - 9 replies |
| |
| | | |
|
| |
Registered member 961 messages |
|
| Posted on February, 22 2024 - 3:03 PM |
Bonjour,
Comment est-il possible de restaurer l'ordre de colonnes par défaut quand un utilisateur a déplacé des colonnes manuellement un peu dans tous les sens ?
merci
OB
ps : question annexe, sur un poste utilisateur, quand l'ordre des colonnes d'une table est modifié, cet ordre n'est pas conservé et quand la fenêtre est à nouveau ouverte, l'ordre est perdu (ça marche pour les autres utilisateurs) et pour cet utilisateur, ça marche très bien dans d'autres fenêtres) ... ??! une idée ? |
| |
| |
| | | |
|
| | |
| |
Registered member 491 messages |
|
| Posted on February, 22 2024 - 4:15 PM |
Bonjour
Pour sauvegarder les "préférences" utilisateurs j'avais le même souci cela fonctionnait pour certains postes et d'autre postes non, sans savoir pourquoi ! Désormais dans mon code de projet j'utilise ce code et depuis que je fais cela je n'ai plus de problème :
https://doc.pcsoft.fr/?3025044&lang=fr-FR&productversion=xxF270104h
SI PAS fRépertoireExiste(ComplèteRep(Repertoire_base) + "Parametres\") ALORS fRepCrée(ComplèteRep(Repertoire_base) + "Parametres\") FIN QUAND EXCEPTIONEXCEPTION DANS InitParamètre(paramXML,ComplèteRep(Repertoire_base) + "Parametres\Param_" + xVarUserLogin + ".xml") FAIRE SI ExceptionInfo(errCode) = "80703" ALORS fAjouteTexte(Fichier_Log,"XML Paramètre : Erreur du fichier de paramètre XML de " + xVarUserLogin + " le " + DateVersChaîne(DateSys, "JJMMAAAA") + RC) fSupprime(ComplèteRep(Repertoire_base) + "Parametres\Param_" + xVarUserLogin + ".xml") fSupprime(ComplèteRep(Repertoire_base) + "Parametres\Param_" + xVarUserLogin + ".bak") SINON ExceptionPropage() FIN FIN
donc, en cas de besoin de faire un reset de l'interface : - je ferme l'app du coté utilisateur - je supprime le fichier xml de l'utilisateur - on relance et l'interface revient à son origine
Pour info en utilisant le "initparametre", le "sauveparamètre" sauvegarde les valeurs en plus dans le fichiers xml crée au dessus. Alors que si on ne précise pas avec un "initparamètre", windev sauvegarde cela dans la base des registre.
De plus, sur des écrans où je veux absolument que des préférences spécifiques soient sauvegardé je fais comme cela :
à la fermeture de la fenêtre https://doc.pcsoft.fr/?3025046
SauveParamètre("TailleTexte",TABLE_Composant..Police..Taille) SauveParamètre("HauteurTexte",TABLE_Composant..HauteurLigne )
à l'ouverture https://doc.pcsoft.fr/?3025047&name=chargeparametre_fonction
TABLE_Composant..Police..Taille = ChargeParamètre("TailleTexte",8) TABLE_Composant..HauteurLigne = ChargeParamètre("HauteurTexte",18)
cordialement
DGMessage modified, February, 22 2024 - 4:23 PM |
| |
| |
| | | |
|
| | |
| |
| Posted on February, 23 2024 - 8:39 AM |
Bonjour
Egalement j'ai le même souci, sachant que dans le détail de champ table je croche l'option "Mémorise la config. des colonnes"
Dans mon code init projet(),je met le code ci dessous
InitParamètre(paramXML,ComplèteRep(ComplèteRep(fRepExe()) ) + "ParamUSERS\Param_" + User + ".xml")
L'utilisateur veut modifier la largeur de quelques colonnes Veut aussi masquer et déplacer quelques colonnes
Dans chaque fermeture de la fenêtre, je sauvegarde les préférences user sur table
SauveParamètre("HeuteurLigne",Table..HauteurLigne) SauveParamètre("LargeurLigne",Table..Largeur )
A l'ouverture de la fenêtre
Table..Largeur = ChargeParamètre("LargeurLigne") Table..HauteurLigne = ChargeParamètre("HeuteurLigne")
mais ca n'a pas marchait Autre question Quelles sont les propriétés qui permet de masquer/afficher colonnes de la table et la propriété de déplacer des colonnes ?
Merci de vérifier mon code |
| |
| |
| | | |
|
| | |
| |
Registered member 151 messages |
|
| Posted on February, 23 2024 - 9:22 AM |
Bonjour,
pour masquer/afficher une colonne c'est la propriété visible Vrai/Faux et pour déplacer c'est la propriété Déplaçable. |
| |
| |
| | | |
|
| | |
| |
| Posted on February, 23 2024 - 10:11 AM |
Merci Silverin
Oui je sais , mais comment on les gères dans la fonction SauveParamètre et ChargeParamètre ? |
| |
| |
| | | |
|
| | |
| |
Registered member 491 messages |
|
| Posted on February, 23 2024 - 2:22 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 277 messages |
|
| Posted on February, 23 2024 - 4:14 PM |
obtuli a écrit :
Bonjour,
Comment est-il possible de restaurer l'ordre de colonnes par défaut quand un utilisateur a déplacé des colonnes manuellement un peu dans tous les sens ?
merci
OB
ps : question annexe, sur un poste utilisateur, quand l'ordre des colonnes d'une table est modifié, cet ordre n'est pas conservé et quand la fenêtre est à nouveau ouverte, l'ordre est perdu (ça marche pour les autres utilisateurs) et pour cet utilisateur, ça marche très bien dans d'autres fenêtres) ... ??! une idée ?
Bonjour,
Moi je procède comme ça :
Je place le code suivant dans le bouton qui va ouvrir la fenêtre dans laquelle il y a la ou les tables qui ont besoin de retrouver leur valeurs par défaut. Et bien sûr je mets une info bulle sur ce bouton du genre : *********** Vous pouvez réinitialiser la structure originale des tables appelées derrière ce bouton, en maintenant la touche [Majus] enfoncée pendant que vous cliquez sur ce dernier. ************
SI ToucheEnfoncée(teShift) ALORS RegistreSupprimeClé("HKEY_CURRENT_USER\SOFTWARE\<Nom_du_groupe_install>\<Nom_du_logiciel>\<FEN_Nom_de_la_fenêtre_concernée\TABLE_Nom_de_la_table_concernée") FIN
Ouvre(FEN_Nom_de_la_fenêtre_concernée)
A noter toutefois que ce code ne fonctionnera en mode TEST car le chemin de la clé est différent. Mais il fonctionnera depuis l'exécutable.
Pour la question annexe, comme ça se passe dans la base de registre, il y a peut être un problème de droit ? à voir... Au pire éditez la BDR et supprimez la clé suivante : "HKEY_CURRENT_USER\SOFTWARE\<Nom_du_groupe_install>\<Nom_du_logiciel>\"
Et si ça ne marche toujours pas essayez à nouveau après avoir créé une nouvelle session utilisateur. |
| |
| |
| | | |
|
| | |
| |
Registered member 4,361 messages |
|
| Posted on February, 23 2024 - 5:59 PM |
Bonjour, Tu peux facilement avoir accès (même en mode test) à
HKEY_CURRENT_USER\SOFTWARE\<Nom_du_groupe_install>\<Nom_du_logiciel>
via ProjetInfo Dans le cas d'un bouton ou d'une procédure locale, le code devient
saRacine est chaîne
saRacine=ProjetInfo(piRegistre)
... RegistreSupprimeClé(ChaîneConstruit("%1%2\TABLE_MaTable",ComplèteRep(ProjetInfo(piRegistre)),MonParent..Nom) ...
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 961 messages |
|
| Posted on February, 23 2024 - 8:15 PM |
Bonjour,
Merci pour vos retours, la gestion des registres semble très bien. Il faudrait dans les faa, la possibilité de réinitialiser totalement la fenêtre ( en plus de sa taille et de sa position) |
| |
| |
| | | |
|
| | |
| |
Registered member 4,361 messages |
|
| Posted on February, 24 2024 - 11:30 AM |
obtuli a écrit :
Il faudrait dans les faa, la possibilité de réinitialiser totalement la fenêtre
Il suffit d'ajouter un menu contextuel aux FAA
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | | | |
| | |
|