PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV (versões anteriores) → [WB 20 : Table classique avec colonne conteneur qui ouvre une page du site dans une nouvelle fenêtre]
[WB 20 : Table classique avec colonne conteneur qui ouvre une page du site dans une nouvelle fenêtre]
Iniciado por DanysWorld, out., 07 2019 5:05 PM - 2 respostas
Publicado em outubro, 07 2019 - 5:05 PM
Bonjour,

j'ai une problématique en WebDev 20, et je ne parviens pas à trouver une solution de contournement...

J'ai une table classique (et elle doit le rester pour des contraintes que j'ai) avec un champ conteneur contenant une image genre "voir la fiche". En cliquant sur cette image, je souhaite ouvrir une page dans une nouvelle fenêtre (plus petite que la fenêtre de la page courante et ne pas ouvrir dans un autre onglets du navigateur).
Pour cela, j'y suis presque, voici mon code :
// code navigateur OnClick de mon tableau
// Pour info, j'ai besoin de le mettre en code navigateur car par la suite il me faut executer le code serveur ET navigateur du champ invisible "LIEN_visualiser"
ExécuteTraitement(AREA_Wrap.AREA_Section.LIEN_TTVisu_Lot,trtClic)

Dans mon code Clic serveur de mon champ invisible "LIEN_visualiser" j'ai
nID, nTypeAffiche sont des entiers
nID = TABLE_mesdonnées.COL_ID[TABLE_mesdonnées]
// Ouverture de la fiche dans une page
nTypeAffiche = TABLE_mesdonnées.COL_IDTypeAffiche[TABLE_mesdonnées]
SELON nTypeAffiche
CAS 1 :PageAffiche(PAGE_Fichedonnee_simple,nID)
CAS 2 : PageAffiche(PAGE_Fichedonnee_complexe,nID)
CAS 3 : PageAffiche(PAGE_Fichedonnee_details,nID)
FIN

Et dans mon code Clic Navigateur de mon champ invisible "LIEN_visualiser" j'ai
//Affichage de la page Fiche dans un navigateur adapté nommé 'FicheDonnee'
NavigateurOuvre("","FicheDonnee",ONSimple+ONDimension,900,700,250,250)
//On défini comme nouvelle destination le nouveau navigateur.
ChangeDestination("FicheDonnee")

Mon souci c'est que quand je clique sur mon image genre "voir fiche", il m'ouvre bien ce qu'il faut, la bonne fiche parfait. Mais quand je clique a nouveau, il m'affiche la meme fiche, alors que j'ai changé de ligne.
J'ai l'impression qu'il ne récupère pas l'indice de la ligne que je selectionne dans la table et que du coup il ne me mets pas les valeurs correspondantes à ce que j'ai selectionné.

Merci pour vos lumières !!!
Publicado em outubro, 08 2019 - 9:48 PM
Personne a une idée???
Publicado em outubro, 09 2019 - 10:39 AM
Bonjour,
J'ai finalement pu trouver un contournement que je vous partage ici au cas ou d'autres auraient ce genre de problématique.

Rappel du contexte :
Champ table classique avec une colonne Lien conteneur image.
Et un traitement serveur des qu'on clique sur une ligne du tableau pour récupérer les valeurs nécessaire

Problématique :
besoin d’exécuter un code navigateur et code serveur pour ouverture d'une fiche dans un nouveau navigateur (style popup) MAIS PAS dans un nouvel onglet du navigateur

Solution :
- création de champs SAI qui stockent les valeurs de ma ligne de table sélectionnée dont j'ai besoin
- création d'un SAI flag que je mets a 1 ou 0 selon selon si j'ai sélectionné une ligne ou pas.
- création d'un bouton invisible qui a un code Navigateur (ou est précisé notamment le NavigateurOuvre et ChangeDestination) et un code SERVEUR (qui contient Page Affiche avec les valeurs récupérées des mes champs SAI et qui me sont utiles pour ouvrir les fiches adaptés a ma sélection de ligne de la table)
- création d'une procédure NAVIGATEUR avec un timer (procédure qui se lance toute les secondes et que j'appelle dans le code Navigateur ONLOAD de ma page. Cette procédure vérifie la valeur de mon SAI flag. Si sai_flag = 0 on ne fait rien, si sai_flag=1 alors on lance le code ExectuteTraitement de mon bouton invisible afin qu'il puisse executer le CODE NAVIGATEUR ET le CODE SERVEUR et je remets SAI_flag a 0.

ça fonctionne d'enfer!! :)