GESTION COMPOSANT DBGRID [Résolu]

adjena
Messages postés
41
Date d'inscription
vendredi 7 mai 2004
Dernière intervention
4 juin 2007
- 25 août 2006 à 10:36 - Dernière réponse : retaks666
Messages postés
289
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
16 juillet 2007
- 24 oct. 2006 à 10:41
Bonjour,
Quelqu'n pourrait-il m'aider a gerer un composant dbgrid pour faire des controle sur les cellule et ne pas pouvoir sortir de la cellule tant que la donnée est erronée.
Exemple j'ai une cellule de type date la personne saisie une date erroné j'ai un super plantage delphi alors que je voudrais trappé le message et ne pas laisser sortir l'utilisateur de la cellule.
2 eme exemple je voudrais toujours à partir d'un DBGRID que l'utilisateur ne puisse faire une selection que dans une liste de valeur prédefinie mais autrement que par la propriété Picklist de la colonne du DBGRID car l'utilisateur a bien une liste de valeur mais il peut saisir autre chose.
Merci pour votre aide.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
retaks666
Messages postés
289
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
16 juillet 2007
- 24 oct. 2006 à 10:41
3
Merci
Je connais pas trop les tables, mais apparement tu devrais pouvoir te débrouiller avec les évènements before/after edit/insert , je sais pas trop quand ils se déclenchent par contre mais en cherchant un peu dans les évènments de ta table ou de ton datasource tu devrais trouver je penses.

Merci retaks666 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de retaks666
retaks666
Messages postés
289
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
16 juillet 2007
- 13 oct. 2006 à 12:33
0
Merci
Tu peux essayer de controler la valeur saisie lors des évènements OndataUpdate et OnDataChange du datasource associé a ton DBGrid je penses.
Pour ta deuxième question, pourquoi ne pas utiliser un combobox que tu afficherai ou créérai par dessus la cellule lorsque que tu en a besoin ?
Commenter la réponse de retaks666
adjena
Messages postés
41
Date d'inscription
vendredi 7 mai 2004
Dernière intervention
4 juin 2007
- 13 oct. 2006 à 15:02
0
Merci
Merci pour cette réponse mais pourrais-tu me donner plus de précision concernant le code à écrire car j'ai fais le test avec :

procedure TFrmPrinc.DtSrcAc_GdtDataChange(Sender: TObject; Field: TField);
begin
 showmessage('different');
 if ((dtmdl.tblac_gdtTRAITE.Value<>'O') and (dtmdl.tblac_gdtTRAITE.Value<>'N')
 and (dtmdl.tblac_gdtTRAITE.Value<>'S')) THEN
  dtmdl.tblac_gdtTRAITE.Value:='N';
end;

et çà plante ...

Cordialement
Commenter la réponse de adjena
retaks666
Messages postés
289
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
16 juillet 2007
- 23 oct. 2006 à 17:36
0
Merci
Peux-tu donner le message d'erreur, et indiquer à quoi corresponde les objets ;)
Commenter la réponse de retaks666
adjena
Messages postés
41
Date d'inscription
vendredi 7 mai 2004
Dernière intervention
4 juin 2007
- 24 oct. 2006 à 09:03
0
Merci
Voici le message que j'ai :
Le projet xxxx a provoque une classe d'exception eDataBaseError avec le message 'tblac_gdt: l'ensembvle de donnee n'est pa en mode edition ou insertion'. Processus stoppé utilise pas a pas ou executer pour continuer.
Commenter la réponse de adjena
retaks666
Messages postés
289
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
16 juillet 2007
- 24 oct. 2006 à 09:32
0
Merci
c'est quoi comme composant tblac_gdt ? Sinon, tu peux mettre une condition genre if dataset = dsinsert or dataset = dsedit ...
Commenter la réponse de retaks666
adjena
Messages postés
41
Date d'inscription
vendredi 7 mai 2004
Dernière intervention
4 juin 2007
- 24 oct. 2006 à 09:49
0
Merci
C'est un composant table qui pointe sur un fichier dbf
Commenter la réponse de adjena

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.