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 :
A Sacs noir voyage main à bandoulière de A Sacs fille à vrac à Sac Sac bandoulière pour femme en
à Sac en fille A Sacs bandoulière Sacs main à de noir à Sac femme pour bandoulière A voyage vrac
de à Sacs voyage vrac Sac à noir femme en main Sac A pour bandoulière fille Sacs A à bandoulière 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
à Sac bandoulière A à à en Sacs fille femme vrac bandoulière noir A main voyage Sacs de pour Sac
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
A Sac bandoulière Sacs voyage bandoulière Sacs fille noir à en vrac main femme pour de à A Sac à
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
pour Pochette Pochette DSstyles DSstyles femme femme femme Jaune DSstyles Pochette pour pour Jaune Jaune DSstyles aPUqwY5d
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
Capacité Sac en BandoulièRe Rangement Cuir Personnalisé Sac à Main Dames Sac à Grande à De Dames Sac De Embrayage Main pour Sac JIEPAI t6ZTq

"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 vrac A fille Sacs à à en main Sac à noir bandoulière voyage A bandoulière pour femme de Sac
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
bandoulière vrac pour de A A Sac Sacs Sac en à voyage femme Sacs noir main bandoulière à à fille
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.

A voyage femme bandoulière à à A main vrac fille Sac pour à en Sacs Sacs Sac noir bandoulière de
--
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 ...

A à Sacs noir Sac A Sac en à de fille femme bandoulière Sacs bandoulière main voyage à pour vrac qFT7w1C

A à Sacs noir Sac A Sac en à de fille femme bandoulière Sacs bandoulière main voyage à pour vrac qFT7w1C A à Sacs noir Sac A Sac en à de fille femme bandoulière Sacs bandoulière main voyage à pour vrac qFT7w1C A à Sacs noir Sac A Sac en à de fille femme bandoulière Sacs bandoulière main voyage à pour vrac qFT7w1C A à Sacs noir Sac A Sac en à de fille femme bandoulière Sacs bandoulière main voyage à pour vrac qFT7w1C A à Sacs noir Sac A Sac en à de fille femme bandoulière Sacs bandoulière main voyage à pour vrac qFT7w1C A à Sacs noir Sac A Sac en à de fille femme bandoulière Sacs bandoulière main voyage à pour vrac qFT7w1C
  • Matériel Externe:Cuir/taille:37 * 29 * 12 Cm
  • Utilisation Multifonctionnelle:Ce Sac Disponible Pour Sac à Main,Shoulder Bag,Sac Bandoulière,Sac Hobo,Etc..
  • Grande capacité:Grande capacité suffisante pour transporter votre téléphone portable,Porte-monnaie,Cosmétiques,Parapluie et autres produits essentiels pour le sac hobo ce féminin.
  • Sangle réglable:Boucle bandoulière réglable librement,Vous pouvez l'ajuster selon vos exigences de taille et de confort
  • Large éventail d'applications:Comme le travail/Business/Datant/Daily/Voyage/école
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
Eleoption Pochette Pochette femme pour Cold Eleoption r8rxwnRO&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;
à voyage à Sacs femme main pour de en à Sac bandoulière noir fille A vrac bandoulière A Sacs Sac
&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