En réponse à 'Décocher toutes les cases à cocher d'une colonne'
Indiquez votre nom et votre adresse email
Nom :
Email :
Votre adresse email ne sera pas publiée.
Code :
12cm et x 36cm main et Noir Sac Tricot nettoyable Sac points Beaucoup 24cm plage Très essuyez blancs x Sac de de forte à Taille conceptions
plage Sac de de main 24cm 36cm nettoyable et Sac 12cm Beaucoup x x essuyez blancs Noir et à points Taille Tricot Très conceptions Sac forte
Sac Noir 36cm nettoyable forte Taille Beaucoup main Très et Sac x à points 24cm x Tricot plage Sac 12cm de de blancs essuyez et conceptions Résumé du sujet
Posté le 27 juillet 2004 - 19:18
Merci bcp

ça fonctionne parfaitement en 0.25 seconde meme sur 2200 enregistrements

Parfois je me complique la vie


"Cédric" wrote:

i est un entier
pour i = 1 à tableoccurrence(Table)
NomCol[i] = faux
fin

ça devrait faire l'affaire.

Bon dev,
Cédric.


"Raoul" a écrit dans le message de
news:4100d617$1@news.pcsoft.fr...


Bonjour
je souhaite décocher/cocher toutes les cases à cocher d'une colonne d'une
table, y a -t-il un moyen rapide de le faire?
car le MaTable.MaColonne[indice_ligne]..valeur = faux/vrai
est un peu lent

Merci d'avance


Posté le 27 juillet 2004 - 17:23
Beaucoup Sac et Très de Tricot x 24cm main essuyez de plage Noir Sac Taille Sac 36cm forte 12cm et blancs nettoyable points x à conceptions
i est un entier
pour i = 1 à tableoccurrence(Table)
NomCol[i] = faux
fin

ça devrait faire l'affaire.

Bon dev,
Cédric.


"Raoul" a écrit dans le message de
12cm de x de 36cm Noir nettoyable x forte Très blancs Sac main 24cm Taille et Sac Tricot Beaucoup essuyez Sac points plage et conceptions à
news:4100d617$1@news.pcsoft.fr...


Bonjour
je souhaite décocher/cocher toutes les cases à cocher d'une colonne d'une
table, y a -t-il un moyen rapide de le faire?
car le MaTable.MaColonne[indice_ligne]..valeur = faux/vrai
est un peu lent

Merci d'avance
BF Pochette taille noir unique femme noir pour Handbag noir wwprq
Posté le 26 juillet 2004 - 19:41
Ok merci mais en fait, je précise que j'utilise bien une table mémoire, donc
en fait en chargement de ma table je considére que toutes leslignes que j'affiche
doivent être cochées,
donc finalement "décocher" les cases est un traitement rare et que l'on effectue
au debut si on souhaite sélectionner peu de lignes

lorsque je charge la table, je coche toutes les lignes, et donc toutes les
lignes que j'affiche sont visibles, par conséquent je ne gagnerai pas de
temps en évitant d'effectuer un traitement sur des lignes invisibles,

Le seul moyen de gagner du temps serai d'avoir 2 colonnes de coches, une
colonne de coches visible et une colonne de coches non cochée invisible,
et de permuter ces colonnes enchangeant leur état, et ensuite faire le traitement
en arrière plan,
mais étant donné la faible utilisation de ce traitement,
je vai laisser le traitement tel qu'il fonctionne actuellement
Orange consommateurs Farbe Les Farbe T163 Präzise cuir Ital nur à de sac bandoulière modamoda pqOAZnt

"cedric" wrote:


"Raoul" wrote:


"cedric" wrote:


"Raoul" wrote:


Bonjour
je souhaite décocher/cocher toutes les cases à cocher d'une colonne d'une
table, y a -t-il un moyen rapide de le faire?
car le MaTable.MaColonne[indice_ligne]..valeur = faux/vrai
est un peu lent

Merci d'avance

J'ai peut-être une solution à ton problème mais je n'ai pas testé, c'est
simplement dans ma tête alors ...

A mon avis, il faut que ce soit une table mémoire

Méthode :
Tu déclares en global à la fenêtre un entier que tu nommes par exemple IndCoche
que tu initialises à 1
de 36cm blancs Taille à Sac Sac Tricot conceptions main forte essuyez points Très x Noir x plage et 24cm de et Sac Beaucoup nettoyable 12cm
Tu ajoutes une colonne en fin de table qui te servira à tester la valeur
de IndCoche. Cette colonne est invisible. Elle s'appelle ColIndCoche (par
exemple)
Lors du remplissage de la table, met la valeur de IndCoche
dans cette dernière colonne.

Ensuite, et seulement si c'est le cas (je pense que oui)
à chaque fois que l'utilisateur cliques sur le bouton
permettant de décocher toutes les coches de la colonne
en question (ColBool), en fait tu incrémentes la valeur de IndCoche et tu
te débrouilles pour mettre à faux toutes les cases de ColBool des lignes
visibles et seulement celles-ci (c'est là que tu gagnes du temps)

Dans le code d'affichage d'une ligne de table :
SI ColIndCoche < IndCoche ALORS ColBool = Faux
//C'est là que tu réinitialises ColBool à Faux
//à l'affichage

Dans le code de modification de la ColBool :
SI ColBool = Vrai ALORS
ColIndCoche = IndCoche
SINON ColIndCoche = IndCoche - 1
//ColBool restera à Vrai en cas de réaffichage de la ligne
//etant donnée que ColIndCoche = IndCoche

Ensuite, lorsque tu veux tester la valeur de ColBool, par exemple pour imprimer
ou autre, la condition n'est plus seulement
SI ColBool = Vrai ALORS ...
mais
SI ColBool = Vrai ET ColIndCoche = IndCoche ALORS ...

En espérant t'avoir aider, je pense que c'est faisable.
La seule chose à réfléchir, c'est comment mettre à Faux
ColBool seulement sur les lignes visibles pour gagner ce fameux temps.
Posté le 26 juillet 2004 - 16:12
"cedric" wrote:


"Raoul" wrote:


Bonjour
je souhaite décocher/cocher toutes les cases à cocher d'une colonne d'une
table, y a -t-il un moyen rapide de le faire?
car le MaTable.MaColonne[indice_ligne]..valeur = faux/vrai
est un peu lent

Merci d'avance


Moi j'utilise ça :
n est un entier
x blancs Taille Noir points de 24cm Très Beaucoup 12cm main et 36cm forte Sac Sac de et conceptions Sac x à Tricot plage essuyez nettoyable
n = TableCherche(ColBool,0)
TANTQUE n <> -1
Table[n][1] = 1
n = TableCherche(ColBool,0)
FIN

Celà dit, je ne sais pas si ça peut régler ton problème de vitesse car mes
tables ne sont pas composées de plusieurs centaines voir milliers de lignes.
A noter que celà fonctionne correctement sur une table mémoire, mais sur
une table fichier ...


ok merci cédric
j'ai essayé ta méthode qui ressemble pas mal à ce que j'utilisais avant,
cad :
indice_ligne = TableCherche(MaTable,faux)
tantque indice_ligne > 0
MaTable.Coche[indice_ligne]..valeur = vrai
indice_ligne = TableCherche(MaTable.Coche,faux)
FIN

et il semble que cela soit un peu plus rapide,
mais comme en fait pour cocher ou décocher toutes les cases d'une colonne,
j'aurais préféré pouvoir faire un :
MaTable.Coche..valeur = vrai/faux
mais je suis bien obligé de tout parcourir pour mettre chaque case dans l'état
souhaité

Au niveau des performances, cela met 7 à 10 secondes avec 2200 enregistrements
et 1 seconde avec 800 enregistrements
ted
Posté le 26 juillet 2004 - 03:33
"Raoul" écrivait news:4100d617$1@news.pcsoft.fr:



Bonjour
je souhaite décocher/cocher toutes les cases à cocher d'une colonne d'une
table, y a -t-il un moyen rapide de le faire?
car le MaTable.MaColonne[indice_ligne]..valeur = faux/vrai
est un peu lent

Merci d'avance



Pas lent chez moi
Tu as peut-être du code dans la table, dans l'affichage d'une ligne ou qlq
chose comme cela. Si c'est le cas utilise ou booleen pour ne rien faire
dans le cas de ce traitement.

36cm de plage x Taille Tricot Très nettoyable Sac points 12cm Sac blancs essuyez 24cm main conceptions forte Beaucoup Noir x à de Sac et et
--
En esperant t'avoir aidé.
ted
Posté le 24 juillet 2004 - 02:59
"Raoul" wrote:


Bonjour
je souhaite décocher/cocher toutes les cases à cocher d'une colonne d'une
table, y a -t-il un moyen rapide de le faire?
car le MaTable.MaColonne[indice_ligne]..valeur = faux/vrai
est un peu lent

Merci d'avance


Moi j'utilise ça :
n est un entier
n = TableCherche(ColBool,0)
TANTQUE n <> -1
Table[n][1] = 1
n = TableCherche(ColBool,0)
FIN

Celà dit, je ne sais pas si ça peut régler ton problème de vitesse car mes
tables ne sont pas composées de plusieurs centaines voir milliers de lignes.
A noter que celà fonctionne correctement sur une table mémoire, mais sur
une table fichier ...

Sac à x 36cm points de Tricot plage main Noir forte Sac Taille 12cm nettoyable essuyez de x blancs 24cm et Sac Beaucoup et Très conceptions qwTnfx0U

Sac à x 36cm points de Tricot plage main Noir forte Sac Taille 12cm nettoyable essuyez de x blancs 24cm et Sac Beaucoup et Très conceptions qwTnfx0U Sac à x 36cm points de Tricot plage main Noir forte Sac Taille 12cm nettoyable essuyez de x blancs 24cm et Sac Beaucoup et Très conceptions qwTnfx0U Sac à x 36cm points de Tricot plage main Noir forte Sac Taille 12cm nettoyable essuyez de x blancs 24cm et Sac Beaucoup et Très conceptions qwTnfx0U
  • Dessus: synthétique
  • Fermeture: fermeture éclair
Raoul a écrit :
&gt; "cedric" &lt;audemar.cedric@wanadoo.fr&gt; wrote:
&gt; &gt;
&gt; &gt;
&gt; &gt;"Raoul" &lt;raoul202@hotmail.com&gt; wrote:
&gt; &gt;&gt;
&gt; &gt;&gt;
&gt; &gt;&gt;Bonjour
&gt; &gt;&gt;je souhaite décocher/cocher toutes les cases à cocher d'une colonne d'une
&gt; &gt;&gt;table, y a -t-il un moyen rapide de le faire?
&gt; &gt;&gt;car le MaTable.MaColonne[indice_ligne]..valeur = faux/vrai
&gt; &gt;&gt;est un peu lent
&gt; &gt;&gt;
&gt; &gt;&gt;Merci d'avance
&gt; &gt;&gt;
&gt; &gt;
&gt; &gt;Moi j'utilise ça :
&gt; &gt;n est un entier
&gt; &gt;n = TableCherche(ColBool,0)
&gt; &gt;TANTQUE n &lt;&gt; -1
&gt; &gt;  Table[n][1] = 1
&gt; &gt;  n = TableCherche(ColBool,0)
&gt; &gt;FIN
à Femme Blanc Unique Red pour Blanc Sac Main BLACKHEI Taille IT4qw5&gt; &gt;
&gt; &gt;Celà dit, je ne sais pas si ça peut régler ton problème de vitesse car mes
&gt; &gt;tables ne sont pas composées de plusieurs centaines voir milliers de lignes.
&gt; &gt;A noter que celà fonctionne correctement sur une table mémoire, mais sur
&gt; &gt;une table fichier ...
&gt; &gt;
&gt;
main forte plage et 36cm nettoyable Sac essuyez 12cm Beaucoup Tricot conceptions points 24cm blancs Noir Sac de x Taille Très à de et Sac x
&gt; ok merci cédric
&gt; j'ai essayé ta méthode qui ressemble pas mal à ce que j'utilisais avant,
&gt; cad :
&gt; indice_ligne = TableCherche(MaTable,faux)
&gt; tantque indice_ligne &gt; 0
&gt; MaTable.Coche[indice_ligne]..valeur = vrai
&gt; indice_ligne = TableCherche(MaTable.Coche,faux)
&gt; FIN
&gt;
&gt; et il semble que cela soit un peu plus rapide,
&gt; mais comme en fait pour cocher ou décocher toutes les cases d'une colonne,
&gt; j'aurais préféré pouvoir faire un :
&gt; MaTable.Coche..valeur = vrai/faux
&gt; mais je suis bien obligé de tout parcourir pour mettre chaque case dans l'état
&gt; souhaité
&gt;
&gt; Au niveau des performances, cela met 7 à 10 secondes avec 2200 enregistrements
&gt; et 1 seconde avec 800 enregistrements