PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Onglet dynamique - Bouton "Fermer" de l'onglet non visible
Onglet dynamique - Bouton "Fermer" de l'onglet non visible
Débuté par OLI, 13 jan. 2025 11:52 - 6 réponses
Membre enregistré
16 messages
Posté le 13 janvier 2025 - 11:52
Bonjour,
j'utilise WD2024 depuis peu et j'essaie d'utiliser les onglets dynamiques.
J'ai deux soucis avec cet objet :
1) Le bouton "Fermer" de mon onglet n'est pas visible alors que la coche "Bouton fermer" est bien cochée.






A l'éxécution, comme le montre l'écran ci-dessous, la petite croix permettant de fermer l'onglet ne s'affiche pas !?






2) Je parviens très difficilement à ajouter une table dans mon onglet dynamique.
J'insiste sur le "dans" parce que je parviens à ajouter une table sans problème sauf qu'elle ne s'ajoute pas dans l'onglet dynamique. Lorsque cela fonctionne on voit apparaître un cadre légèrement vert à l'intérieur de l'onglet et là la table où un élément s'y ajouter bien.
J'y suis parvenu mais une seule fois, les fois d'après la table reste détachée de l'onglet ce qui évidement n'est pas ce que je désire en utilisant cet élément. Est-ce que vous auriez une astuce pour le faire sans souci ?

Pour info, j'ai ouvert l'exemple WD Gestion Commercial qui fonctionne correctement, et donc je vois bien la petite croix pour fermer l'onglet. MAIS j'ai les mêmes problèmes quand j'ajoute une nouvelle fenêtre avec un onglet dynamique.
Même souci également pour y ajouter la table, je n'y comprends rien du tout :-(

Merci d'avance pour votre aide et très bonne journée à toutes et tous
Membre enregistré
4 184 messages
Posté le 13 janvier 2025 - 12:19
Bonjour,
Pour ajouter un champ table dans ton onglet dynamique, il faut ajouter ce champ à la FI reliée au volet.
En ce qui concerne la croix de fermeture, celà est peut être du au gabarit utilisé.

--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM
Message modifié, 13 janvier 2025 - 12:45
Membre enregistré
16 messages
Posté le 13 janvier 2025 - 13:07
Bonjour ;-)
j'ai bien ajouté ma fenêtre interne à mon onglet statique, mais pas moyen d'ajouter cette foutu table :-(
Pour le bouton "Fermer", je vois en effet qu'il y a un gabarit mais lequel serait le plus approprié, vous savez ?
Est-ce que vous avez essayé chez vous, vous avez les mêmes soucis ? Je finis par me demander si ce n'est pas WD2024 ? :(
Mais je ne vais pas mentir, cela a fonctionné mais une seule fois seulement ;(




Membre enregistré
16 messages
Posté le 13 janvier 2025 - 14:29
Je suis parvenu à ajouter la table, après avoir essayé 10 fois, je ne sais pas pourquoi c'est si compliqué :-(
Par contre toujours pas de croix pour ferme l'onget, personne n'a une idée ?
Membre enregistré
164 messages
Posté le 13 janvier 2025 - 15:50
Bonjour

Je vois votre problème, vous souhaiter d'ajouter des onglets dynamique dans une fenêtre, et une bouton ne s'affiche pas, j'ai trois solutions très efficace pour vous, à vous de choisir
Je n'ai pas encore la version 2024, mais je vais essayez de vous aidez à ma manière

1. Soit vous devrez mettre dans l'onglet obligatoire un nouveau bouton "Fermer", et à chaque entrer dans une nouvelle onglet, vous activer aussi le bouton "Fermer"
2. Soit vous devrez créer un nouveau bouton "Fermer" à l'extérieur de l'onglet, et à chaque clique du bouton "Fermer", vous fermer l'onglet actif
3. Soit vous devrez cloner le champ table à chaque clonage de l'onglet, ainsi que les codes sont paramétrés par l'indice de l'onglet

Pour le cas 1, il y aura beaucoup de champ bouton dans la fenêtre par rapport au nombre d'onglet
Pour le cas 2, c'est une bonne pratique
Pour le cas 3, c'est une méthode dynamique pour cloner plusieurs onglets

Pour les 2 cas, il faudrait ajouter un message d'enregistrement d'information pour raison de sécurité
Voilà un code et une photo pour vous aidez

// EDD (01/25) : cloner toute les onglets dans la fin d'initialisation de la fenêtre
LOCAL
eDebut, eLimite is entier
eDebut = 3
eLimite = 4
FOR eDebut = 3 _TO_ eLimite
ChampClone(ONG_Dynamique[2], "ONG_Dynamique[" + eDebut + "]")
ChampClone(ONG_Dynamique[2].BTN_Fermeture_Clonage, "ONG_Dynamique[2].BTN_Fermeture_Clonage_" + eDebut)
ChampClone(ONG_Dynamique[2].TBL_Onglet, "ONG_Dynamique[2].TBL_Onglet_" + eDebut)
{"ONG_Dynamique[" + eDebut + "]", indChamp}..Libellé = "Opérateur : onglet " + eDebut
{"ONG_Dynamique[" + eDebut + "]", indChamp}..Visible = False
END

// EDD (01/25) : créer un bouton ajouter ou cloner avec le code ci-dessous
LOCAL
eDebut, eLimite is entier
eDebut = 3
eLimite = 4
FOR eDebut = 3 _TO_ eLimite
IF {"ONG_Dynamique[" + eDebut + "]", indChamp}..Visible = False THEN
{"ONG_Dynamique[" + eDebut + "]", indChamp}..Visible = True
ONG_Dynamique = eDebut
BREAK
END
END

// EDD (01/25) : créer un champ onglet avec deux onglet de base comme dans votre image, et ainsi un champ table

// EDD (01/25) : créer un champ bouton de fermeture dans l'onglet numéro 2, pour le cas d'une seule bouton de fermeture, avec le programme ci-dessous
LOCAL
eEntier is entier = ONG_Dynamique
ONG_Dynamique[eEntier]..Visible = False

NB : Ce programme est un programme dynamique de clonage

Cordialement
Mr.RATSIMANDRESY
Niry Aina Eddy





: Lecture de la fenêtre avec des onglets dynamique
Membre enregistré
16 messages
Posté le 13 janvier 2025 - 20:48
Bonjour Mr Mr.RATSIMANDRESY, tout d'abord merci pour votre réponse et votre aide. Merci à Voroltinquo car il a tout à fait raison, en changeant de feuille de style, la petite croix et réapparu par enchantement :-) Voilà qui va me tirer une belle épine du pied.
Ceci étant dit Mr.RATSIMANDRESY, je trouve vos solutions très intéressantes, je m'y suis attardé toute l'après-midi mais je n'y suis pas arrivé. Dans ma fenêtre interne j'ai un bouton pour enregistrer des informations, je pourrais après avoir cliqué sur le bouton y afficher un message pour indiquer la réussite de la sauvegarde et fermer l'onglet ... Et déjà là, je cale, est-ce possible de fermer l'onglet actif alors qu'on est dedans si je puis dire ? Je n'y suis pas arrivé, alors je me suis dit, que je pourrais réaliser un "exécuteprocédure" depuis la fenêtre qui contient l'onglet ... mais cela n'a pas fonctionné, est-ce que là aussi ce serait possible ? Merci d'avance ;-)
Membre enregistré
16 messages
Posté le 13 janvier 2025 - 20:51
Voroltinquo a écrit :
Bonjour,
Pour ajouter un champ table dans ton onglet dynamique, il faut ajouter ce champ à la FI reliée au volet.
En ce qui concerne la croix de fermeture, celà est peut être du au gabarit utilisé.

--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM
Message modifié, 13 janvier 2025 - 12:45

Merci à vous, en changeant de feuille de style cela fonctionne et la petite croix est réapparue. Merci beaucoup :merci: