[RESOLU] Connaître l'indice d'une ligne dans une table

Tout ce qui concerne la version 11 & plus récentes de windev

**Windev est une marque déposée de Pcsoft**

[RESOLU] Connaître l'indice d'une ligne dans une table

Messagepar Daniel-Québec » Mer Mar 17, 2010 5:35 pm

Bonjour,
J'ai une table mémoire déclarée comme suit :
Etat Initial : ni saisie, ni sélection
Mode de sélection : sélection multiple
Je travaille donc uniquement ar programmation.
Cette table affiche des lignes d'écritures comptables afin d'en effectuer le lettrage : pour ce faire, je dois donc sélectionner les lignes que je veux lettrer (donc égales en débit et crédit), et j'utilise donc le clic gauche pour tester si la ligne est déjà sélectionnée ou à sélectionner...
Mon problème est que je ne parviens pas à connaître l'indice de la ligne sur laquelle s'effectue le clic ! Je récupère toujours -1
Il exixte une solution mais je ne la trouve pas, alors avis aux pros.
Le code serait comme par exemple :
si TABLE_Ecritures[Indice]..Sélectionnée=vrai alors
info("sélectionnée")
sinon
info("non")
// donc je sélectionne
TableSelectPlus(TABLE_Ecritures,Indice)
FIN
Merci d'avance ! Cordialement, Daniel.
Dernière édition par Daniel-Québec le Jeu Mar 25, 2010 2:42 pm, édité 1 fois.
Avatar de l’utilisateur
Daniel-Québec
Membre Confirmé
 
Messages: 665
Inscription: Mer Sep 10, 2008 2:24 pm
Localisation: Saint-Luc-de-Bellechasse (Qc)

Advertisement

Re: Connaître l'indice d'une ligne dans une table

Messagepar emidev » Mer Mar 17, 2010 5:42 pm

Bonjour,

pour les selection mulltiple :

i est un entier
NbSelectionne est un entier = TableSelectOccurrence(Table_PRODUIT)
POUR i=1 A NbSelectionne
Trace("Ligne sélectionnée : "+Table_PRODUIT[TableSelect(Table_PRODUIT,i)])
FIN

TableSelect(Table_PRODUIT,i) renvoie la ligne selectionnée
exemple j'ai selectionnée 2 ligne

TableSelect(Table_PRODUIT,1) // renvoie l'indice de la 1er ligne selectionnée
TableSelect(Table_PRODUIT,2) // renvoie l'indice de la 2em r ligne selectionnée
une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...

Bon dev
@+

Firetox
http://www.Emidev.fr

[PS] je ne repond pas au message privé[/PS]
emidev
Membre Confirmé
 
Messages: 597
Inscription: Lun Nov 16, 2009 10:05 am
Localisation: GRENOBLE

Re: Connaître l'indice d'une ligne dans une table

Messagepar Daniel-Québec » Mer Mar 17, 2010 6:13 pm

Merci Emidev,
J'utilise effectivement cela dans d'autres tables, sans problème.
Là cela ne fonctionne pas, car le clic doit en fait agir comme un interrupteur, donc j'ignore la ligne sur laquelle je clic.
Exemple :
Ligne 1 - non sélectionnée
Ligne 2 - non sélectionnée
Ligne 3 - sélectionnée
Ligne 4 - non sélectionnée
Ligne 5 - sélectionnée
Ce que je souhaite, c'est que :
Si clic sur Ligne 1 -----> On sélectionne cette ligne puiqu'elle ne l'est pas encore
Si clic sur Ligne 3 -----> On déselectionne cette ligne puisequ'elle était déjà sélectionnée
Etc...
Donc pour tester si sélectionnée ou non sélectionnée et effectuer le traitement correspondant, j'ai besoin de connaître l'indice de la ligne sur laquelle le clic est fait.

Je ne m'explique peut être pas correctement ?

D'avance merci.
Avatar de l’utilisateur
Daniel-Québec
Membre Confirmé
 
Messages: 665
Inscription: Mer Sep 10, 2008 2:24 pm
Localisation: Saint-Luc-de-Bellechasse (Qc)

Re: Connaître l'indice d'une ligne dans une table

Messagepar emidev » Mer Mar 17, 2010 6:18 pm

bonjour,

le plus simple pour faire cela une table sans selection mutiple
une colonne invisible de type booleen nom COL_COCHE

dans le code selection d'une ligne
COL_COCHE[maTABLE] = pas COL_COCHE[maTABLE]

// ensuite on peut changer la couleur de laligne si selectionne
si COL_COCHE[maTABLE] alors maTAble[MAtable]..couleurFond = ibleuClair
une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...

Bon dev
@+

Firetox
http://www.Emidev.fr

[PS] je ne repond pas au message privé[/PS]
emidev
Membre Confirmé
 
Messages: 597
Inscription: Lun Nov 16, 2009 10:05 am
Localisation: GRENOBLE

Re: Connaître l'indice d'une ligne dans une table

Messagepar Daniel-Québec » Mer Mar 17, 2010 6:25 pm

Cela me semble effectivement être une excellente solution qui n'a pas l'air trop compliquée à mettre en oeuvre (c'est toujours ce que l'on pense au début !)
J'e vais essayer çà !
Merci encore. Daniel
Avatar de l’utilisateur
Daniel-Québec
Membre Confirmé
 
Messages: 665
Inscription: Mer Sep 10, 2008 2:24 pm
Localisation: Saint-Luc-de-Bellechasse (Qc)

Re: Connaître l'indice d'une ligne dans une table

Messagepar emidev » Mer Mar 17, 2010 6:45 pm

je fais cela quand je veux des table en muti selection sans avoir a appuyer sur ctrl pour les selectionner
et en plus c'est assez simple en code

et pour savoir si une ligne est selectionnée on regarde juste la colonne qui permet la selection
une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...

Bon dev
@+

Firetox
http://www.Emidev.fr

[PS] je ne repond pas au message privé[/PS]
emidev
Membre Confirmé
 
Messages: 597
Inscription: Lun Nov 16, 2009 10:05 am
Localisation: GRENOBLE

Re: Connaître l'indice d'une ligne dans une table

Messagepar emidev » Mer Mar 17, 2010 7:01 pm

j'ai ouvert un de mes projet

le code exact est le suivant dans selection d'une ligne
Code: Tout sélectionner
COL_COCHE[Table_liste] = PAS COL_COCHE[Table_liste]
Table_liste[Table_liste]..CouleurFond = CouleurDéfaut
SI COL_COCHE[Table_liste] ALORS Table_liste[Table_liste]..CouleurFond = ivertClair
une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...

Bon dev
@+

Firetox
http://www.Emidev.fr

[PS] je ne repond pas au message privé[/PS]
emidev
Membre Confirmé
 
Messages: 597
Inscription: Lun Nov 16, 2009 10:05 am
Localisation: GRENOBLE

Re: Connaître l'indice d'une ligne dans une table

Messagepar Daniel-Québec » Jeu Mar 18, 2010 9:45 pm

Bonjour,
Effectivement ce code n'est pas compliqué et répond totalement au besoin.
En jouant sur les couleurs de style, le résultat est parfait : tout est possible à partir du test de la valeur de COL_Coche !
Un nouveau grand merci !
Cordialement, Daniel.
Avatar de l’utilisateur
Daniel-Québec
Membre Confirmé
 
Messages: 665
Inscription: Mer Sep 10, 2008 2:24 pm
Localisation: Saint-Luc-de-Bellechasse (Qc)

Re: Connaître l'indice d'une ligne dans une table

Messagepar windivelop » Mar Mar 23, 2010 6:23 pm

salut ,
elle bonne la solution , mais je pense que ya un problème
dite moi si je me trompe :
lors de l'ouverture de la fenêtre qui contient la table : automatiquement la première ligne sera sélectionné ;)
donc faudra à chaque fois la dé-sectionnée :S
ma tite solution : une petite colonne visible qui contient un interrupteur pour sélectionner des lignes
(mais faudra que la table soit en saisie )
à la fin prendre que les lignes qui on la colonne[i] = vrai
windivelop
Nouveau Membre
 
Messages: 16
Inscription: Dim Mai 24, 2009 10:19 am

Re: Connaître l'indice d'une ligne dans une table

Messagepar emidev » Mar Mar 23, 2010 7:05 pm

Bonjour,

non du fait que il faut mettre en ligne selectionnée la couleur normale (non selectionnée)
comme cela aucune ligne n'est selectionnée car coche = faux si on clique sur la colonne alors cela selecxtionne la ligne t la passe dans une couleur precise

en fait le bandeau fait penser que la ligne est selectionnée (il faut donc mettre un bandeau dans la description des table qui soit de la couleur des ligne non selectionnées)

ensuite le mecanisme est bien celui que vous decrivez il suffit de regarder coche[ligne] = vrai pour dire que la ligne est selectionnées
une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...

Bon dev
@+

Firetox
http://www.Emidev.fr

[PS] je ne repond pas au message privé[/PS]
emidev
Membre Confirmé
 
Messages: 597
Inscription: Lun Nov 16, 2009 10:05 am
Localisation: GRENOBLE

Re: Connaître l'indice d'une ligne dans une table

Messagepar windivelop » Mer Mar 24, 2010 7:59 pm

@emidev : Merci pour éclaircissement :) Bon dev
windivelop
Nouveau Membre
 
Messages: 16
Inscription: Dim Mai 24, 2009 10:19 am

Re: Connaître l'indice d'une ligne dans une table [RESOLU]

Messagepar Daniel-Québec » Jeu Mar 25, 2010 2:41 pm

La solution de Emidev fonctionne parfaitement !

Il n'y a aucun problème...
Avatar de l’utilisateur
Daniel-Québec
Membre Confirmé
 
Messages: 665
Inscription: Mer Sep 10, 2008 2:24 pm
Localisation: Saint-Luc-de-Bellechasse (Qc)



  • Advertisement

Retourner vers Forum windev 11 & plus récentes

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités