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 :

case à couche et DBGRID


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Points : 19
    Points
    19
    Par défaut case à couche et DBGRID
    Salut

    Je Récupère une Résultat d'une requette dans une dbegrid .
    je voudrais ajoute une case à couche dans le DBGRID pour importer les lignes dont laquelle la case est couche dans un fichier Excel
    je ne pas arriver ni avec l'ajout de case à Couche ni l'importation des lignes
    quelqu’un peut m'aide .vraiment je suis BLOQUE

    Merci Infiniment

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 147
    Points : 184
    Points
    184
    Par défaut
    C'est impossible d'ajouter une case à cocher dans un dbGrid.
    Va voir sur la FAQ Delphi
    Mirmillon
    Au royaume des aveugles, les borgnes sont rois.

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par Mirmillon
    C'est impossible d'ajouter une case à cocher dans un dbGrid.
    Va voir sur la FAQ Delphi
    Mirmillon
    La prouve le contraire :
    http://delphi.developpez.com/faq/?pa...eacocherdbgrid
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Le composant JvDBGrid de la http://homepages.borland.com/jedi/jvcl/ permet l'ajout automatique d'une case a cocher..

  5. #5
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par guirat
    Salut

    Je Récupère une Résultat d'une requette dans une dbegrid .
    je voudrais ajoute une case à couche dans le DBGRID pour importer les lignes dont laquelle la case est couche dans un fichier Excel
    je ne pas arriver ni avec l'ajout de case à Couche ni l'importation des lignes
    quelqu’un peut m'aide .vraiment je suis BLOQUE

    Merci Infiniment
    question magique: la case à cocher est-elle pour un champ de ta BD ou simplement pour signaler les lignes à exporter ?
    parce que si c'est un champ de ta BD, les posts ci dessus sont corrects (avec la JVCL tu as des composants grille de données avec case à cocher automatique, et des composants pour exporter ton DBGrid vers Excel )
    dans le cas contraire, je ne sais pas si c'est faisable, vu que à priori un DBGrid n'affiche que des données issues d'un DataSet/DataSource ...

  6. #6
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Salut,

    Ce que tu peux faire...
    Soit tu passe par les bookmark (signets) de ta base de données (qui fera très bien office de case à cocher :
    Dans l'exemple, j'ai utilisé Un TDBGrid avec ses données, un TButton (ButtonCopier), et une TListBox.

    - La propriété Options-->dgMultiSelect du DBGrid est à true
    - La sélection s'éffectue au clavier+souris en faisant Ctrl+Bouton gauche sur l'élément "à cocher"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    procedure TForm1.ButtonCopierClick(Sender: TObject);
    var i,j:Integer;
        s:string;
        ABookMarkList:TBookmarkList;
        ADataSet:TDataSet;
    begin
      ABookMarkList:=DBGrid1.SelectedRows;
      ADataSet:=DBGrid1.DataSource.DataSet;
     
      if ABookMarkList.Count>0 then
          for i:=0 to ABookMarkList.Count-1 do
          begin
            //se positionner sur le signet
            ADataSet.GotoBookmark(pointer(ABookMarkList.Items[i]));
            //copie des données
            s:='';
            for j :=0 to ADataSet.FieldCount-1 do
            begin
               if (j>0) then s:=s+',';
               s:=s+ADataSet.Fields[j].AsString;
            end;
            Listbox1.Items.Add(s);
         end;
    end;
    Sinon, il existe un composant gratuit qui le fait, il s'appelle SMDBGrid et est vraiment très bien (facile à utiliser, offre de nombreuses possibilités) :
    http://www.scalabium.com/smdbgrid.htm

    Le fichier de resources pour avoir ce Grid en français se trouve en bas de la page

    Bon dev
    Bidouilleuse Delphi

  7. #7
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 490
    Points : 2 752
    Points
    2 752
    Billets dans le blog
    10
    Par défaut
    Tu peux mettre un champ de type alphanumériqe de longueur 1 et ajouter
    le code suivant. Mon champ ici a pour nom "SelectNotice" et utiliser l'évènement OnCellClick

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TFormSaisie.DBGrid1CellClick(Column: TColumn);
    begin
      Table1.Edit;
      if Table1SelectNotice.Value  = 'x'then
        Table1SelectNotice.Value := ' '
      else
        Table1SelectNotice.Value := 'x';
      Table1.post;
    end;

Discussions similaires

  1. Dessiner case à cocher dans DBGrid
    Par juju1988 dans le forum Débuter
    Réponses: 67
    Dernier message: 11/07/2013, 16h46
  2. recupérer la case séléctionné en 'dbgrid' ?
    Par hayat2 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 19/05/2010, 11h33
  3. case à cocher dans dbGrid pour sélection de ligne ?
    Par TheYoMan dans le forum Débuter
    Réponses: 2
    Dernier message: 24/07/2009, 09h59
  4. Comment récupérer une case d'un dbGrid ?
    Par jeje.r dans le forum Composants VCL
    Réponses: 14
    Dernier message: 22/09/2005, 17h56
  5. Accès à une case d'un DBGrid dans l'event OnKeyDown
    Par fba dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/03/2004, 12h48

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