Parcours DBGrid [Résolu]

Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
- 19 mars 2008 à 12:02 - Dernière réponse :
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
- 19 mars 2008 à 16:33
Bonjour !

Avant tout chose, j'ai un DBgrid lié à un IBQuery et un IBUpdateQuery.

Mon soucis se passe au moment ou je parcours mon DBGrid dans une colonne afin de controler la saisie avant validation et mise a jour de la table.

Certaines cellules possede un picklist car on a la possibiliter de choisir une valeur. Le probleme se passe au niveau du controle de la cellule et quand il arrive dans une cellule possedant un picklist, la cellule controle bien la donnée selectionnée mais controle aussi la donnée en premiere position du picklist. De plus, on lieu de poursuivre les controle sur les autres cellules, il revient au debut de mon DBGrid et recommence le parcourir et cette fois jusqu'a la fin. Mais la valeur selectionnée est remplacé par la valeur du 1er item de mon picklist.

voici le code simplifier :

  query1.First;


  while not query1.Eof do
  begin


    Valeur := dbgrid1.Columns.Grid.Fields[9].AsString;  //Lecture du contenu de la 1er cellule


    if ((length(Valeur) <> 8) and (length(Valeur)) then
      //..... Suite controle




    query1.Next;  //Enreg suivant


  end;  //End while
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
19 mars 2008 à 16:33
1
Merci
Voila maintenant tout semble fonctionné comme voulu, j'ai remplacé :

query1.Fields[9].AsString   par   dbgrid.DataSource.DataSet.FieldByName('NOM').AsString
et
query1.First   par   dbgrid.DataSource.DataSet.First;

et ainsi de suite....

Merci grandyaka54 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de grandyaka54
Messages postés
51
Date d'inscription
mardi 8 octobre 2002
Dernière intervention
21 décembre 2011
19 mars 2008 à 14:44
0
Merci
" je parcours mon DBGrid dans une colonne "

Euh, cela signifie quoi ?, on parcours un DataSet de ligne en ligne, puis on examine, les "colonnes" (champs) de celui-ci ...

Valeur := query1.Fields[9].AsString;

sinon, je préfère de loin un FieldByName, c'est beaucoup plus facile à maintenir, ou alors tu fais des constantes pour les index de colonne ...
Commenter la réponse de cs_Shai
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
19 mars 2008 à 15:24
0
Merci
Euh, en effet je me suis mal exprimer Oups... Je parcours en effet mon dbgrid ligne par ligne  en examinant le contenu d'une cellule. Si le contenu répond aux conditions alors il passe à la ligne suivante.

Par contre, certain contenu possede un picklist avec une liste de valeur. Lors du controle, il verifie bien la valeur selectionné mais verifi aussi la 1er donnée de la liste ... ?? Et au lieu de poursuivre vers la ligne suivante, il revient à la 1er ligne de mon dbgrid.... ??
Commenter la réponse de grandyaka54

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.