bonjour
je voulais savoir est-ce qu'il et possible de verifier si le contenu d'un edit1->text existe dans une stringgrid...
bonjour
je voulais savoir est-ce qu'il et possible de verifier si le contenu d'un edit1->text existe dans une stringgrid...
Il te suffit de faire un double boucle sur ton TStringGrid (sur les colonnes et les lignes) et tu compares le contenu de la case trouv�e avec le contenu de ton Edit.
bin se que je veut faire ses la choses suivante, entrez une valeur dans un edit1->text, et v�rifier s'il existe dans la premiere colone du tableau, si l'enregistrement existe, il l'affiche....
please, help, me, ....
quelqu'un aurez t'il un source.???![]()
voici :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 for(int i = 0; i < StringGrid1->RowCount; i++) { if(Edit1->Text == StringGrid1->Cells[0][i]) ShowMessage("Element trouve !"); }
j'ai deja fais se test et sa fonctionne, moi se que je veux, ses que s'il et existant dans la StringGrid1, et bien qu'il le surligne... ??? et sa j'y arrive pas ....!!!![]()
![]()
�a dans le .h :
dans le code OnDrawCell de StringGrid1 :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2int ligne;
sur un boutton ou autre :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 TColor bgColor; // Couleur de fond TColor fontColor; // Couleur du texte if(ARow == ligne) // Ligne a colorier { bgColor = TColor(0x003f40d4); fontColor = clWhite; } else // Couleur des autres lignes { bgColor = clWhite; fontColor = clBlack; } // Creons la couleur de fond + la couleur du texte // Il faut s'assurer que la cellule n'appartient pas a la 1ere ligne if (ARow != 0) { StringGrid1->Canvas->Brush->Color = bgColor; StringGrid1->Canvas->FillRect(Rect); // Colore le fond de la cellule StringGrid1->Canvas->Font->Color = fontColor; // Couleur du texte a afficher } // Ecrivons maintenant le texte StringGrid1->Canvas->TextOut(Rect.Left + 2, Rect.Top + 3, AnsiString(StringGrid1->Cells[ACol][ARow]));
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 int i; // Pour parcours de la boucle for bool element_trouve = false; // reste a false si pas d'element de trouve for(i = 1; i < StringGrid1->RowCount; i++) { if(Edit1->Text == StringGrid1->Cells[0][i]) { ligne = i; // la ligne a colorier element_trouve = true; // l'element est trouve } } if(!element_trouve) ligne = -1; // si l'element n'est pas trouve, on ne colore aucune ligne StringGrid1->Repaint(); // Actualisation du tableau
merci ac/dc, mais maintenant le soucie et que dans ma propri�t� OnClick du stringgrid1 mon code ne fonctionne plus...
ton code et nickel mais il faut que si je clique directement sur une ligne dans le stringgrid, il me la surligne.... ???
merci d'avance
Bonsoir,
Il faut rajouter :
dans le OnDrawCell
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 if (State.Contains(gdSelected)) { //on souligne le texte }
@ +![]()
dans le OnClick :
normalement �a devrait le faire .....
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 ligne = ARow; StringGrid1->Repaint();![]()
Partager