PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Récupération de la valeur Y d'une ligne de table
Récupération de la valeur Y d'une ligne de table
Iniciado por guillaume.schneider, jul., 12 2005 12:11 PM - 5 respostas
Publicado em julho, 12 2005 - 12:11 PM
Le but est d'ouvrir une petite fenêtre de la largeur d'une ligne de table au-dessus d'une ligne sélectionnée dans une table.
La propriété Y n'existant pas pour une ligne de table. Je cherche un moyen détourné pour récupérer cette position. Lorsque la première ligne de table est affichée, une solution est d'ajouter à la valeur Y de la table, la hauteur de toutes les lignes jusqu'à la ligne sélectionnée. Mais si on utilise l'ascenseur vertical et que les premières lignes ne sont plus affichés à l'écran, la fenêtre sera affichée plus bas vu que l'on continue à aditionner des lignes qui ne sont plus affichées.
Quelqu'un aurait-il une solution pour récupérer cette valeur Y pour une ligne de table ?

La solution d'aditionner la hauteur des lignes pourrait fonctionner dans tous les cas si je pouvais déterminer les lignes visibles à l'écran (L'ascenseur vertical fournit cette information lorsque l'on garde le bouton gauche enfoncé (ex 4-18 / 44)). Ces infos disponibles sur l'ascenseur, sont-elles récupérables ?

Merci d'avance pour vos réponses.

Cordialement,

Guillaume
Publicado em julho, 12 2005 - 12:28 PM
Salut,

Tu peux utiliser TablePosition(Matable) pour connaître l'indice de la
première ligne affichée.
Mais je pense que l'ouverture d'une fenêtre Popup avec
OuvrePopupPosition serai plus simple à gérer.

Christian



Le 12/07/2005, Guillaume a supposé :

Le but est d'ouvrir une petite fenêtre de la largeur d'une ligne de table
au-dessus d'une ligne sélectionnée dans une table. La propriété Y n'existant
pas pour une ligne de table. Je cherche un moyen détourné pour récupérer
cette position. Lorsque la première ligne de table est affichée, une solution
est d'ajouter à la valeur Y de la table, la hauteur de toutes les lignes
jusqu'à la ligne sélectionnée. Mais si on utilise l'ascenseur vertical et que
les premières lignes ne sont plus affichés à l'écran, la fenêtre sera
affichée plus bas vu que l'on continue à aditionner des lignes qui ne sont
plus affichées. Quelqu'un aurait-il une solution pour récupérer cette valeur
Y pour une ligne de table ?

La solution d'aditionner la hauteur des lignes pourrait fonctionner dans tous
les cas si je pouvais déterminer les lignes visibles à l'écran (L'ascenseur
vertical fournit cette information lorsque l'on garde le bouton gauche
enfoncé (ex 4-18 / 44)). Ces infos disponibles sur l'ascenseur, sont-elles
récupérables ?

Merci d'avance pour vos réponses.

Cordialement,

Guillaume


--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Publicado em julho, 12 2005 - 12:34 PM
Regarde l'aide de OuvrePopupPosition, avec le paramètre poSelonChamp. Un exemple d'utilisation peut etre trouvé dans l'exemple CRM, dans la gestion des commandes.

Si une popup ne fait pas l'affaire, tu peux récupérer l'indice de la première ligne affichée avec TablePosition, et l'indice de la ligne sélectionnée avec TableSelect. Un petit calcul te permet de connaitre la position de la ligne sélectionnée dans la table, et donc sont ordonnée.

Frédéric.
Publicado em julho, 12 2005 - 12:38 PM
TableInfoXY

Guillaume a écrit :
Le but est d'ouvrir une petite fenêtre de la largeur d'une ligne de table au-dessus d'une ligne sélectionnée dans une table.
La propriété Y n'existant pas pour une ligne de table. Je cherche un moyen détourné pour récupérer cette position. Lorsque la première ligne de table est affichée, une solution est d'ajouter à la valeur Y de la table, la hauteur de toutes les lignes jusqu'à la ligne sélectionnée. Mais si on utilise l'ascenseur vertical et que les premières lignes ne sont plus affichés à l'écran, la fenêtre sera affichée plus bas vu que l'on continue à aditionner des lignes qui ne sont plus affichées.
Quelqu'un aurait-il une solution pour récupérer cette valeur Y pour une ligne de table ?

La solution d'aditionner la hauteur des lignes pourrait fonctionner dans tous les cas si je pouvais déterminer les lignes visibles à l'écran (L'ascenseur vertical fournit cette information lorsque l'on garde le bouton gauche enfoncé (ex 4-18 / 44)). Ces infos disponibles sur l'ascenseur, sont-elles récupérables ?

Merci d'avance pour vos réponses.

Cordialement,

Guillaume
Publicado em julho, 12 2005 - 12:49 PM
//soit T1 le nom de la table


laposi est un entier
Leniveau est un entier
Yrecherche est un entier


//Hauteur d'une ligne de la table :

HauteurLigne est un entier = 16


//La zone de titre des colonnes a une hauteur variable selon le style de la table
//Indiquez ici la hauteur de la zone de titre de votre table (par tatonnement...)

HauteurEnteteDeTable est un entier //a verifier pour votre table


//Le Y recherche est calculé de la façon suivante

laposi = TablePosition("T1")
leniveau=T1-Laposi

Yrecherche=leniveau*16+(T1..Y+HauteurEnteteDeTable)


Bon Dev.
Publicado em julho, 12 2005 - 1:25 PM
L'exemple CRM fourni avec windev en donne de bons exemples.