OVH Cloud OVH Cloud

[WD8] nom de la colonne en cours dans un menu contextuel

4 réponses
Avatar
Pascal F
Bonjour,
Voila je sèche sur un problème de table (mémoire) ouvrant un menu contextuel.
je suis dans une colonne de la table. j'ai affecté un menu contextuel uniquement à cette colonne.
Dans le code du menu, j'ai besoin du nom ou de l'indice de la colonne afin de renvoyer la valeur calculée dans le code du menu.
Or je ne trouve aucune fonction me permettant de récupérer cette info.
ChampContextuel et ChampEnCours me donnent le nom de la table.
Je pensais m'en sortir avec ColonnEnCours, mais je récupère sytématiquement -1.
Quelqu'un aurait une idée?

Mon code:
cChampAppelant est une chaîne
eCol est un entier
dDate est une Date = DateSys()

// Récupérer le nom du champ
cChampAppelant = ChampContextuel()
SI {cChampAppelant}..Type=typTable ALORS
eCol=ColonneEnCours() <------- tjrs -1 bien que le champ soit une table :-@
FIN
SI {cChampAppelant}..Type=typComboAVS OU {cChampAppelant}..Type=typComboSNS ALORS
ListeModifie(cChampAppelant,gLien(dDate)+DateVersChaine(dDate),1)
ListeSelectPlus(cChampAppelant,1)
SINON
SI {cChampAppelant}..Type=typTable ALORS
{cChampAppelant}[IndiceEnCours()][eCol]=dDate
SINON
cChampAppelant=dDate
FIN
FIN

Peut être ai-je raté quelque chose. Merci de vos lumières.

--
Pascal Ferracci
efpé

efpe@efpe.biz

4 réponses

Avatar
ZryMel
"Pascal F" a écrit dans le message de
news:4149b124$0$32716$
Bonjour,
Voila je sèche sur un problème de table (mémoire) ouvrant un menu


contextuel.
je suis dans une colonne de la table. j'ai affecté un menu contextuel


uniquement à cette colonne.
Dans le code du menu, j'ai besoin du nom ou de l'indice de la colonne afin


de renvoyer la valeur calculée dans le code du menu.
Or je ne trouve aucune fonction me permettant de récupérer cette info.
ChampContextuel et ChampEnCours me donnent le nom de la table.
Je pensais m'en sortir avec ColonnEnCours, mais je récupère


sytématiquement -1.
Quelqu'un aurait une idée?


...

cela peut peut etre t'aider :

iNomcol est une chaîne TableInfoXY(iNomTab,tiNomColonne,SourisPosX(),SourisPosY())

--
ZryMel
Avatar
Pascal F
ZryMel a écrit :
"Pascal F" a écrit dans le message de
news:4149b124$0$32716$
Bonjour,
Voila je sèche sur un problème de table (mémoire) ouvrant un menu contextuel.
je suis dans une colonne de la table. j'ai affecté un menu contextuel uniquement à cette colonne.
Dans le code du menu, j'ai besoin du nom ou de l'indice de la colonne afin de renvoyer la valeur calculée dans le code du menu.
Or je ne trouve aucune fonction me permettant de récupérer cette info.
ChampContextuel et ChampEnCours me donnent le nom de la table.
Je pensais m'en sortir avec ColonnEnCours, mais je récupère sytématiquement -1.
Quelqu'un aurait une idée?


...

cela peut peut etre t'aider :

iNomcol est une chaîne > TableInfoXY(iNomTab,tiNomColonne,SourisPosX(),SourisPosY())



Malheureusement sourispox() et sourisposy() renvoient -1. Quant à CurseurPos(), c'est la position du clic sur le menu contextuel que l'on récupère
:'(

--
Pascal Ferracci
efpé


Avatar
Romain PETIT
Pascal F a présenté l'énoncé suivant :
ZryMel a écrit :



Dans le code du menu, j'ai besoin du nom ou de l'indice de la colonne afin
de renvoyer la valeur calculée dans le code du menu.
Or je ne trouve aucune fonction me permettant de récupérer cette info.
ChampContextuel et ChampEnCours me donnent le nom de la table.







cela peut peut etre t'aider :
iNomcol est une chaîne >> TableInfoXY(iNomTab,tiNomColonne,SourisPosX(),SourisPosY())





Malheureusement sourispox() et sourisposy() renvoient -1. Quant à
CurseurPos(), c'est la position du clic sur le menu contextuel que l'on
récupère :'(



Essaye plutôt ça :

*** code du survol de la table (par exemple)
x, y sont des entiers
sColSel est une chaine
x = PoidsFaible(CurseurPos())
y = PoidsFort(CurseurPos())
sColSel = TableInfoXY(MoiMême, tiNomColonne+ tiOrigineEcran, x, y)

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Pascal F
Romain PETIT a émis l'idée suivante :
Pascal F a présenté l'énoncé suivant :
ZryMel a écrit :



Dans le code du menu, j'ai besoin du nom ou de l'indice de la colonne afin de renvoyer la valeur calculée dans le code du menu.
Or je ne trouve aucune fonction me permettant de récupérer cette info.
ChampContextuel et ChampEnCours me donnent le nom de la table.







cela peut peut etre t'aider :
iNomcol est une chaîne >>> TableInfoXY(iNomTab,tiNomColonne,SourisPosX(),SourisPosY())





Malheureusement sourispox() et sourisposy() renvoient -1. Quant à CurseurPos(), c'est la position du clic sur le menu contextuel que l'on récupère :'(



Essaye plutôt ça :

*** code du survol de la table (par exemple)
x, y sont des entiers
sColSel est une chaine
x = PoidsFaible(CurseurPos())
y = PoidsFort(CurseurPos())
sColSel = TableInfoXY(MoiMême, tiNomColonne+ tiOrigineEcran, x, y)

A+



Merci à tous. La solution m'a été communiquée.
Il faut récupérer le nom par l'événement bouton droit de la souris enfoncé sur la Table. l'évènement se produisant avant l'affichage du menu
contextuel.

--
Pascal Ferracci
efpé