IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

bloquer l'accès à un 1 champ d 1 colonne d'un dbgrid [FAQ]


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut bloquer l'accès à un 1 champ d 1 colonne d'un dbgrid
    Bonjour

    est-il possible de bloquer (rendre inaccessible) le champ d'une colonne seulement pour la première ligne et qu'un seul champ précis ?

    Par la suite, toutes les lignes suivantes sont de retour accessibles même le champ bloqué de la première ligne qui lui le restera toujours.


    Merci

  2. #2
    Membre du Club

    Inscrit en
    Janvier 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 48
    Points : 61
    Points
    61
    Par défaut
    Tu as la possibilité de rendre la colonne de ton DbGrid ReadOnly lorsque tu es sur le 1er enregistrement de ta base de données.
    Pour ce faire il faut conserver le numéro du premier enregistrement de la table à l'ouverture (ce n'est pas forcement 1), et ensuite, comparer ce numéro au numéro en cours à chaque changement de ligne.


    Création de la variable NumPremierEnreg :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    implementation
     
    {$R *.dfm}
     
    Var NumPremierEnreg: Integer;
    Attribution d'une valeur à cette variable à l'ouverture de la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    procedure TForm1.Table1AfterOpen(DataSet: TDataSet);
    begin
     NumPremierEnreg:=Table1.RecNo;
    end;
    Mettre la colonne en ReadOnly si on est sur le 1er enregistrement :
    Dans l'exemple c'est la 4eme colonne qui est traitée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    procedure TForm1.Table1AfterScroll(DataSet: TDataSet);
    begin
    DbGrid1.Columns[3].ReadOnly := (Table1.RecNo=NumPremierEnreg);
    end;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut
    Merci

    je n'aurais jamais trouvé cela tout seul !

Discussions similaires

  1. champ calculé des colonnes d'un dbgrid
    Par redoran dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/11/2010, 09h21
  2. Réponses: 12
    Dernier message: 11/11/2008, 10h14
  3. Réponses: 3
    Dernier message: 10/10/2005, 15h53
  4. Bloquer l'accès à une page en fonction du navigateur
    Par 10-nice dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/08/2005, 15h29
  5. Bloquer les accès à certains sites
    Par Polskynet dans le forum Administration
    Réponses: 2
    Dernier message: 25/02/2005, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo