J'ai repris le projet que tu as envoy� tout a l'heure, j'ai juste enlev� l'option goEditing et chez moi �a fonctionne
Version imprimable
J'ai repris le projet que tu as envoy� tout a l'heure, j'ai juste enlev� l'option goEditing et chez moi �a fonctionne
Alors je pense que je vais devenir fou.
Je ne comprend pas pourquoi je n'y arrive pas. Je vais chercher!
Merci pour votre aide.
Bonjour,
Cela fait longtemps que je ne m'�tait pas re-pench� sur ce probl�me de suppression multiple.:roll:
Je me suis remis dessus et j'ai fait une constatation assez surprenante :
Je peut supprimer plusieures lignes sans aucun soucis:yaisse2:, mais pour cela il faut que je les s�lectionnent sans appuyer sur "Ctrl".:aie:
En effet si je fait une s�lection � la souris directement, alors il n y a pas de soucis je peut supprimer autant de ligne que je veux � la fois...
En revanche si j'utilise le bouton "Ctrl" cela bloque (seule la derni�re ligne s�lectionn�es est supprim�e.)
Quelqu'un aurait t'il une id�e sur le pourquoi et surtout le comment le r�soudre?
Au fait j'ai modifi� dans le code quelque chose, ce n'est plus la fonction StringGrid1ContextPopup qui est utiliser mais via un popupmenu (pour une question de visualisation) cette fonction la supprimeruneligne1Click... Ce qui ne change pas grand chose au probl�me...
Merci par avance pour votre aide.
voici comment je supprime une ligne,
tu cliques sur une ligne , tu sauvegarde la position Y
ARow = Y
ou tu met ce code dans l'�v�nement OnSelect de ta Grille
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 AnsiString a,b; int y ; for(y=ARow-1;y<(Grille->RowCount-1);y++) { int x=0; for( x=0; x< Grille->ColCount; x++) { a = Grille->Cells[x][y]; // --> inutile sert a vérifier la copie de b b = Grille->Cells[x][y+1]; Grille->Cells[x][y] = b; } } Grille->RowCount--;
pour le probl�me du ctrl ! je vas v�rifier
mais d'ou te vien le ARow?
Je ne connais pas... il faut rajouter une librairie?
Le ARow vient, comme le ACol, de certains �v�nement du StringGrid, dans ces �v�nement la ligne et la colonne de la cellule s�lectionn� sont indiqu� dans les param�tre ARow et ACol
sorry , j'ai pas expliqu�
j'ai fais une fonction avec passage de param�tre
recherche la ligne a supprimer
suppression de la ligneCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 bool trouver=false; int i=0; for(; i<Grille->RowCount && trouver==false; i++) { if(Grille->Cells[0][i]== Edit1->Text) trouver = true; } if(trouver) { SupprimerLigne( i ); Grille->RowCount--; }
:salut:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 void TForm1::SupprimerLigne(int ARow) { AnsiString a,b; int y ; int x ; for(y=ARow-1;y<(Grille->RowCount-1);y++) { x=0; for( ; x< Grille->ColCount; x++) { a = Grille->Cells[x][y]; // sert a v�rifier le fonctionnement b = Grille->Cells[x][y+1]; Grille->Cells[x][y] = b; } } }