Supprimer une ligne sélctionnée dans un stinggrig

Résolu
cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005 - 8 mars 2005 à 13:09
cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005 - 11 mars 2005 à 13:27
Bonjour,
Dans un stringgrid, comment peut-on supprimer les données qui se trouvent dans une ligne que l'on aura sélectionné?
Merci de votre aide.

5 réponses

jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
9 mars 2005 à 10:06
Hello,



Voici une fonction qui te permet de détruire la ligne désirée d'un stringgrid :


<li>Tu lui passes la ligne</li>
<li>Puis ton stringgrid</li>
<li>La fonction te retournera True si tout c'est bien passé ou false en cas d'erreur

</li>

function DeleteRowStringGrid(Row : Integer; var StrGrid : TStringGrid) : Boolean;



var

I,J : Integer;

List : Array of TStringList;



begin

Result := True;



Try

SetLength(List,StrGrid.ColCount); {Dimensionnement du tableau dynamique}



For I:=0 to High(List) do List[I] := TStringList.Create; {Création des StringList}



Try



For I:=0 to High(List) do

begin

{Récupération des données du stringrid dans les tstringlist}



For J:=0 to StrGrid.RowCount-1 do

List[I].Add(StrGrid.Cells[I,J]);

end;



For I:=0 to High(List) do List[I].Delete(Row); {Destruction de la ligne}



{On enleve une ligne au stringrid}

StrGrid.RowCount := StrGrid.RowCount - 1;



For I:=0 to High(List) do

begin

{remet les résultats dans le stringrid}



For J:=0 to StrGrid.RowCount-1 do

StrGrid.Cells[I,J] := List[I].Strings[J];

end;

Finally



For I:=0 to High(List) do List[I].Free; {Libération de la mémoire}

end;

Except

Result := False;

end;

end;

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
3
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
8 mars 2005 à 14:47
Hello,



Est ce que tu veux juste vider les données de toutes les cellules de la ligne ou bien monter les lignes du dessous d'un cran ?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005
8 mars 2005 à 22:49
merci jmp77,

je veux supprimer les données de cette ligne.

Imaginons que pour une raison quelconque (par ex. un encodage erroné),
je veuille supprimer une ligne et toutes ses éléments. Que fais-je?
0
cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005
8 mars 2005 à 22:59
bon, essayons d'etre plus clair,

je commande des médicaments pour un pensionnaire de maison de repos
dans une liste de médicaments. Ma commande apparait dans une grille et
je m'appercois que j'ai commandé deux fois le meme (medicament). Je
sélectionne la ligne en trop et...je voudrais qu'elle disparaisse de ma
commande.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005
11 mars 2005 à 13:27
jmp, merci pour ta réponse
0
Rejoignez-nous