|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 163 ![]() |
Bonjour,
Avec un bouton je souhaite sélectionner ou déselectionner toutes les ligne d'un stringgrid. Cela marche pour la sélection, mais pas pour la désélection. Voici mon code : Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() Charly Ingénieur TP Inscription : décembre 2006 Messages : 582 ![]() |
Bonjour et bonnes fêtes à toi aussi,
essaye ceci : Code :
Charly |
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 163 ![]() |
Bonjour,
Merci pour ton code, cela marche mais le problème c'est que la sélection n'est pas maintenue si je click dans le stringgrid alors que je veux que ma déselection se fasse uniquement par mon bouton car j'ai un autre bouton qui doit déselectionner ligne par ligne. Merci d'avance. |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Charly Ingénieur TP Inscription : décembre 2006 Messages : 582 ![]() |
tu peux mettre la propriété Enabled à False.
Alors tu ne pourras plus éditer la grille, mais tu peux ajouter un bouton "Editer" qui bascule cette propriété à True ? A+ Charly |
|
|
00
|
|
|
#5 | ||
|
Membre chevronné
![]() Charly Ingénieur TP Inscription : décembre 2006 Messages : 582 ![]() |
Sinon, tu mets gère toi même un tableau de booleen ISElect pour indiquer la sélection ou non de la ligne i et tu dessines la grille avec DrawCell :
Code :
|
||
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 163 ![]() |
Bonjour Charly,
Merci pour ton code mais Iselect n'est pas déclaré. Je ne sais pas en quoi je dois le déclarer. Merci d'avance. |
|
|
00
|
|
|
#7 | ||
|
Membre chevronné
![]() Charly Ingénieur TP Inscription : décembre 2006 Messages : 582 ![]() |
par exemple comme ceci (mais cela dépend du nombre maxi de lignes de ton TStringGrid) :
Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 163 ![]() |
Merci beaucoup le code marche mais ne cohabite pas du tout avec le reste de mon code. En plus avec Array je suis coincé car je ne connais pas le nombre de ligne de mon stringgrid à l'avance et il est variable.
En fait j'ai un bouton pour "Tout sélectionner/désélectionner" et un bouton pour "sélectionner/déselectioner" les lignes que j'ai sélectionnées au préalable par un double click avec la souris. J'ai mis en place un code qui est boiteux par moment, j'arrive à faire fonctionner mon bouton "Tout sélectionner/Désélectionner" si ce n'est que lorsque je sélectionne ou désélectionne ligne par ligne, le bouton "Tout désélectionner" ne déselectionne pas les dernières lignes de mon stringgrid le nombre correspondant aux nombres de lignes que j'ai déselectionné avant. Voici le code : Code :
Merci encore pour ton aide. |
||
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() Charly Ingénieur TP Inscription : décembre 2006 Messages : 582 ![]() |
Pour le tableau de Booleen ISelect, tu peux utiliser un tableau dynamique. Ains tu pourras augmenter sa taille comme tu veux
|
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() Charly Ingénieur TP Inscription : décembre 2006 Messages : 582 ![]() |
Chez moi ton code ne compile pas (sous D7) car rowsselected est inconnu.
Je pense que tu devrais quand même gérer les sélections et déselections par un tableau de booléens, car cela me semble être la méthode la plus simple. |
|
|
00
|
|
|
#11 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 163 ![]() |
Pour ce qui manque :
Code :
Je vais regarder pour le tableau dynamique. Dans mon code, j'ai besoin d'un bouton pour tout sélectionner ou désélectionner (les lignes), d'un bouton pour sélectionner ou déselectionner les lignes de mon choix (je choisis la ligne par un double click), et d'un bouton pour vider mon stringgrid en ne gardant que les lignes désélectionner. Il faut aussi que les couleurs de mes lignes soit différente une fois sur 2 (chez moi jaunes et blanches) pour une meilleur lisibilité. Il faut vraiment que je revois ma copie car c'est plein de bug et compliqué pour l'utilisateur final. A plus tard. |
||
|
|
00
|
|
|
#12 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 163 ![]() |
Re-bonjour,
J'ai modifié mon code et cela marche à part les carractères de ma colonne 0 qui sont cachés lors de la sélection de façon complétement aléatoire. Par contre je n'arrive plus à avoir une ligne sur deux de couleurs différente par exemple les lignes paires en blanc et les lignes impaires en jaune. Ceci pour une meilleur lisibilité de mon stringgrid. Voici mon code actuel : Code :
|
||
|
|
00
|
|
|
#13 | ||
|
Membre chevronné
![]() Charly Ingénieur TP Inscription : décembre 2006 Messages : 582 ![]() |
Bonjour,
avec ceci tu récupères tes couleurs de lignes paires et impaires ; Code :
Charly |
||
|
|
00
|
|
|
#14 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 163 ![]() |
Bonjour Charly,
Ton code marche très bien, merci beaucoup. Par contre je n'arrive plus à changer la couleur d'une cellule que je sélectionne et je n'arrive plus à sélectionner une ligne en double cliquant sur une cellule de la colonne 0. J'ai ajouté ce code dans OnDrawCell qui déjà me permet de me positionner sur la cellule de mon choix. Mais pour le reste.... Code :
|
||
|
|
00
|
|
|
#15 | ||
|
Membre chevronné
![]() Charly Ingénieur TP Inscription : décembre 2006 Messages : 582 ![]() |
Bon alors, tu créés 2 variables Col1 et Row1 de type LongInt et tu complètes comme ceci (en affectant les fonctions StringGrid1DblClick et StringGrid1MouseDown à la grille)
Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com