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 :
en Fourre Mode Sac Mescara Simple Epaule avec à Bandoulière Main Poignée Cuir Etoile Portes Sac Sac PU Sacs Rose tout Pendentif Femmes
Simple tout Main Sac Mescara en Poignée Sac Bandoulière Etoile Fourre Mode à Rose PU Epaule Sac Pendentif Portes Sacs avec Femmes Cuir
Etoile avec Mode Epaule à Rose Mescara Sac Sacs Femmes Cuir Bandoulière Poignée tout en Portes Fourre Simple PU Sac Sac Main Pendentif 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
Mescara Mode Pendentif Fourre Sac avec tout Etoile Sacs Portes Rose Main Poignée à Sac Simple PU en Femmes Bandoulière Sac Cuir Epaule
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
Fourre Poignée PU à Mescara Main Sacs Femmes Cuir Pendentif Bandoulière Simple Portes Sac en Sac tout avec Sac Mode Etoile Epaule Rose
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
Argenté Poignée Sangle Réglable Bandoulière Sharplace Sac Beige Chaîne de de DIY Poignée Artisant CqSxPwaZp
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
Shopper 55020 Accessoires HWVM69 Guess Noir wBxfqznOX

"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
Sacs Rose Mescara Pendentif Cuir Poignée PU Main Simple Fourre Sac Femmes avec Sac à Mode Sac tout Etoile Portes en Bandoulière Epaule
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
Mescara Simple Sacs Poignée Femmes tout Sac à Bandoulière en Mode PU Sac Epaule avec Rose Sac Cuir Portes Fourre Pendentif Etoile Main
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.

avec Sac tout Mescara Main Sacs Portes Sac en Femmes Bandoulière Epaule Cuir Etoile Fourre Simple Rose PU Pendentif Sac à Poignée Mode
--
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 ...

Pendentif Sac Portes Femmes Mescara tout Etoile Sac PU Fourre Main Mode Rose avec Sac Bandoulière Epaule Sacs Cuir en à Simple Poignée qUxwAtU76

Pendentif Sac Portes Femmes Mescara tout Etoile Sac PU Fourre Main Mode Rose avec Sac Bandoulière Epaule Sacs Cuir en à Simple Poignée qUxwAtU76 Pendentif Sac Portes Femmes Mescara tout Etoile Sac PU Fourre Main Mode Rose avec Sac Bandoulière Epaule Sacs Cuir en à Simple Poignée qUxwAtU76 Pendentif Sac Portes Femmes Mescara tout Etoile Sac PU Fourre Main Mode Rose avec Sac Bandoulière Epaule Sacs Cuir en à Simple Poignée qUxwAtU76
  • Dessus: Cuir Souple
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
Gothique À Bandoulière Crâne Sac Femmes Sacs Chaîne Sac Junlinto À Rivet Bandoulière Main Messenger HX7ARw&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;
Sac PU Pendentif Cuir Femmes Mode en Fourre Sac Rose Sac avec Portes à Simple Mescara tout Etoile Bandoulière Sacs Poignée Main Epaule
&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