Numéroter les lignes d'un DBCtrlGrid [Résolu]

pseudoOM 174 Messages postés jeudi 3 février 2005Date d'inscription 30 janvier 2009 Dernière intervention - 8 mars 2005 à 13:45 - Dernière réponse :  Nima
- 14 mars 2018 à 23:09
Boujour,
voici mon problème. J'ai réalisé une application qui gère un classement sportif. J'ai utilisé un DBCtrlGrid et j'ai récupéré les champs de la table dans des DBText. Il affiche bien les concurents dans le bon ordre des points (du plus grand au plus petit) mais je n'arrive pas à numéroter les lignes du DBCtrlGrid. J'ai essayé en récupérant le nombre de lignes par DBCtrlGrid.RowCount et j'ai fait une boucle de 0 à la valeur de rowcount. j'ai déclaré un label sur la ligne du DBCtrlGrid et je lui affecte la valeur de mon compteur. Mais cela ne fonctionne pas car à la fin de la boucle, sur toutes les lignes le label prend la dernière valeur du compteur !
Quelqu'un pourrait-il m'aider ?

pseudoOM
Afficher la suite 

Votre réponse

9 réponses

cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 8 mars 2005 à 23:53
+2
Utile
Pourquoi ne pas utiliser la propriété RecNo de l'ensemble de données lié au lieu de RowCount du TDbCtrlGrid ?

Dans l'évènement OnPaint du TDbCtrlGrid, tu places le code qui affecte le contenu de ton TLabel. Par exemple :

<!--StartFragment-->
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
  Index: Integer);
begin
  Label3.Caption := IntToStr(DbCtrlGrid.DataSource.DataSet.RecNo);
end;


Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
Cette réponse vous a-t-elle aidé ?  
Bonjour, merci vous m'avez vraiment aidé c'est exactement le résultat que je cherchais avec très peu de modification, en faite moi je voulais affiché la valeur d'un champ et pas son classement, et j'ai réussi grâce à votre aide.
Commenter la réponse de cs_Delphiprog
jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 8 mars 2005 à 14:44
0
Utile
Hello,



Envoie ton code et on verra :

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Commenter la réponse de jmp77
pseudoOM 174 Messages postés jeudi 3 février 2005Date d'inscription 30 janvier 2009 Dernière intervention - 8 mars 2005 à 15:10
0
Utile
var
ligne, i : integer;
begin
ligne:= DBCtrlGrid.RowCount;
for i: =1 to ligne do
Label.Caption:=IntToStr(i);
end;

pseudoOM
Commenter la réponse de pseudoOM
jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 8 mars 2005 à 15:15
0
Utile
Mais tu as un seul label?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Commenter la réponse de jmp77
pseudoOM 174 Messages postés jeudi 3 février 2005Date d'inscription 30 janvier 2009 Dernière intervention - 8 mars 2005 à 15:16
0
Utile
Je sais que c'est normal que le label prend la dernière valeur valeur du compteur mais je pensais que comme c'était un DBCtrlGrid, le numéro serait différent sur chaque ligne !

pseudoOM
Commenter la réponse de pseudoOM
pseudoOM 174 Messages postés jeudi 3 février 2005Date d'inscription 30 janvier 2009 Dernière intervention - 8 mars 2005 à 15:18
0
Utile
oui et il est sur la ligne du CtrlGrid et pas en dehors.

pseudoOM
Commenter la réponse de pseudoOM
pseudoOM 174 Messages postés jeudi 3 février 2005Date d'inscription 30 janvier 2009 Dernière intervention - 8 mars 2005 à 15:54
0
Utile
Peut être qu'il y aurais moyen de détourner le problème si je savais comment n'afficher que les 10 premiers par exemple et dans ce cas je déclare 10 label et j'affecte les valeurs de 1 à 10.

pseudoOM
Commenter la réponse de pseudoOM
pseudoOM 174 Messages postés jeudi 3 février 2005Date d'inscription 30 janvier 2009 Dernière intervention - 9 mars 2005 à 13:29
0
Utile
Super ça fonctionne ! Merci beaucoup !

pseudoOM
Commenter la réponse de pseudoOM

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.