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

C++Builder Discussion :

CheckListBox et coment afficher dans plusieurs collones


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut CheckListBox et coment afficher dans plusieurs collones
    Re bonjour a tous.

    Voila j'utilisais un DBLookUpListBox pour afficher mon panier d'achat. Le probleme et que j'aimerais bien cocher un element de mon panier pour pouvoir le supprimer.

    Avec le DBLookupListBox ce n'est pas possible de rajouter des cases a cocher.. donc je me suis dit je vais prendre le TCheckListBox et rajouter le produits dedans.


    Donc je clic sur le bouton "Ajouter" et je recupere mes informations de cette facon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    AnsiString type = SQLQuery1->FieldValues["Types"];
    	AnsiString marque = SQLQuery1->FieldValues["Marques"];
    	AnsiString model = SQLQuery1->FieldValues["Model"];
    	AnsiString prixunit = SQLQuery1->FieldValues["PrixVentes"];
    Une fois que je posséde le type,la marque, le model et le prix unitaire j'aimerais bien les affichers dans mon checklistbox avec en 1er collone ( le check ) en 2eme collone ( le type) en 3eme collone ( le model ) et en 4eme collone ( le prix unit )

    Tout ce que j'ai reussi a faire c'est ajouter le type dans la checlistbox mais il ne m'affiche pas collone par collone mais 1 a la suite de l'autre :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CheckListBox1->Items->Add(quantite);
    DOnc je voudrais avoir un peu aidesur ce compo.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Un truc de ce style ne te correspond pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CheckListBox1->Items->Add(type+" "+marque+" "+model+" "+prixunit);
    Columns n'est pas ce que tu penses!

    C'est jusque que celà permet, lorsque tu as beaucoup d'items, de les répartir sur plusieurs colonnes et non sur une seule.

    On ne pas pas accéder à une donné de columns ...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    Oki pour les collones..effectivement j'etais mal partit sur cette propriété !

    Oui effectivement ca me conviendrait mais le probleme est que je voudrais simuler des collones cad entrer le type entre 0 et 50 puis entrer la marque entre 51 et 100 puis le model entre 101 et 150 par ex

    Car ici tout est un peu mis n'importe comment suivant la longueur des marque,model,types etc....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CheckListBox1->Items->Add(quantite+" "+refproduit+" "+marque+" "+model+" "+prixunit);

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    Bon Voila exactement ce que je veux faire pourquoi je sens que avec le CheckListBox ca va etre pas possible.


    Donc j'ai mon DBLookupListBox.
    Quand je selectionne une ligne et que j'appuye sur le button supprimer il me suprime la ligne de ma base de donnée.

    Comme le DBNavigate ( que je viens de voir )

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Citation Envoyé par bullrot Voir le message
    si j'arrive a faire ca.. apres je devrais recuperer mon panier et les inserer dans ma base de données.. donc il faudra recuperer chaque ligne de ma CheckListBox et les inserer dans une table sql .. je suppose que c'est fesable... sinon je dois partir sur un autre choix...
    Récupérer les cases cocher pour ensuite faire une requête SQL, logiquement ca ne posera aucun soucis.

    En revanche, ce qui est du formatage des données, ba ca va pas être de la tarte avec ca...

    Il faudrait combler les chaines avec des espaces ... pour dire que ce soit à peu près mis en forme de colonnes, mais là heu, bon courage...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    ah excuse moi Ero j'ai abandonné l'idée du CheckListBox ca sentais le roussi j'ai modifier mon objectif et je pense que celui est plus realisable... qu'en penses tu ?

    Bon Voila exactement ce que je veux faire pourquoi je sens que avec le CheckListBox ca va etre pas possible.


    Donc j'ai mon DBLookupListBox.
    Quand je selectionne une ligne et que j'appuye sur le button supprimer il me suprime la ligne de ma base de donnée.

    Comme le DBNavigate ( que je viens de voir )
    Donc comment recuperer ma ligne selectionnée ?

  7. #7
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Re,

    Regarde du coté de DBLookupListBox1->SelectedItem

    A+

    PS: J'ai réussi à mettre le formattage voulu avec le TCheckListBox

    C'est pile poil comme j'aime (mais ouch, pas très beau le code pour l'instant)

  8. #8
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    Je reprends le premier 'post': plutôt que de chercher a ajouter tes produits dans un TCheckListBox, tu aurais pu essayer de le faire dans un TListView (dont l'utilisation peut se montrer 'délicieuse', j'avoue).
    Comme ca, tu aurais eu tes colonnes pour chaque caractéristique du produit, et la possibilité de mettre une case a cocher dans la première colonne afin de décider d'en faire qqchose ou pas ultérieurement, si produit 'coché'.

    Sinon, bien que je n'ai pas fait le tour de tout tes 'besoins' (désolé), tu aurais pu regarder éventuellement du côté du TDBCtrlGrid, qui te laisse la possibilité de poser toute une somme de différents contrôles (orienté données exclusivement) dessus et donc d'agir/visualiser de pleins de manière différentes pour chaque enregistrement de la table.

    En espérant t'aider,
    @+

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    je vais voir pour les 2 composant que tu cites alors.

    Pour le selectedItems j'avais trouver aussi cette fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AnsiString var =DBLookupListBox1->SelectedItem;
    ShowMessage(var);
    mais il me renvoie toujours 1

    je regarde avec le TlistView et le DBRich alors

    Merci a vous

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    VOila a mon avis je vais utiliser le composant TlistView.

    J'ai entrer mes Nom de collones avec en 1er collones des Checkbox pour la selection de a ligne et ensuite 5 collone ( quantité, reference , marques , model, et prix )

    Si vous pouvez me donner la commande pour inserer dans une ligne complete

    Merci

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    J'ai finalement trouvé avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CheckListBox1->Items->Add(quantite+" "+refproduit+" "+marque+" "+model+" "+prixunit);
    	TListItem *Item = ListView1->Items->Add();
    	Item->Caption  = "";
    	Item->SubItems->Add(quantite);
    	Item->SubItems->Add(refproduit);
    	Item->SubItems->Add(marque);
    	Item->SubItems->Add(model);
    	Item->SubItems->Add(prixunit);
    mais je parvient pas a recuper la selection de mon checkbox ( donc collone 1 )
    et lui dire de supprimer cette ligne

  12. #12
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Re

    Dans l'événement OnChange, tu peux retrouver les infos de l'item cliquer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void __fastcall TForm1::ListView1Change(TObject *Sender, TListItem *Item,
          TItemChange Change)
    {
     if (Item->Checked)
     ShowMessage(Item->Caption+" "+Item->SubItems->Strings[0]+" "+Item->SubItems->Strings[1]);
    }
    C'est à titre d'exemple, à toi de l'adapter

    Sinon, on peut encore faire autre chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void __fastcall TForm1::ListView1Change(TObject *Sender, TListItem *Item,
          TItemChange Change)
    {
     
     // Suppression de l'item sélectionné
     if (Item->Checked)
     Item->Delete();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ListView1Deletion(TObject *Sender, TListItem *Item)
    {
      // Juste avant la suppression de l'item à effacer, on affiche ses infos ...
      ShowMessage(Item->Caption+" "+Item->SubItems->Strings[0]+" "+Item->SubItems->Strings[1]);
    }

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    super Ero. je testerais ca ce soir la je dois partir.

    Sinon c'est possible de mettre juste le titre des collone du list view en bold ?

    J'ai essayer mais il me met tout le list view en gras

    Merci pour tout

  14. #14
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Citation Envoyé par bullrot Voir le message
    super Ero. je testerais ca ce soir la je dois partir.

    Sinon c'est possible de mettre juste le titre des collone du list view en bold ?

    J'ai essayer mais il me met tout le list view en gras

    Merci pour tout
    Il doit surement avoir un moyen, mais je ne suis pas assez calé pour faire ce genre de chose! Faudrait regarder au niveau des événements lorsque l'on dessine ...

    Si Sunchaseur est là, peut être parviendra t-il à t'aider

  15. #15
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Cher ero-sennin,
    Je suis sur que tu disposes de bien plus de connaissances que moi ... néanmoins, l'immonde crapaud que je suis propose bien une 'solution' personnelle, que tu as d'ailleurs évoqué -> il faut gérer les évènements lors du dessin des Items et SubItems.
    (laisser, je pense, OwnerDraw du TListView a false)

    Il doit falloir définir une font 'générale' pour la TListView (dans ce que j'ai testé, Tahoma, gras, Italic, 9) et gérer le dessin des éléments, comme discuté dans :
    ce post.
    Les entêtes de colonnes seront formattées selon les indications de font 'générales', et les Items et SubItems selon ce qui est dans le code des différents évènements.

    Ca marche chez moi ... mais peut être suis je soumis a un micro-climat particulier ...

    @+

  16. #16
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Re,

    Citation Envoyé par Sunchaser
    Je suis sur que tu disposes de bien plus de connaissances que moi
    Merci, j'en doute tout de même

    Citation Envoyé par Sunchaser
    Il doit falloir définir une font 'générale' pour la TListView (dans ce que j'ai testé, Tahoma, gras, Italic, 9) et gérer le dessin des éléments...
    Ah, et moi qui m'obstiné à faire l'inverse! Pourquoi n'y avais je pas pensé avant! Depuis tout à l'heure, je vois que l'on a une fonte générale lorsque l'on touche au style de la fonte du ListView! J'arrivai bien à modifier les items et subitems mais j'ai pas pris le problème à l'endroit (ou à l'envers ).


    Citation Envoyé par Sunchaser
    Ca marche chez moi ... mais peut être suis je soumis a un micro-climat particulier ...
    Pour moi c'est tout good ... le mini climat gagne du terrain :
    Merci pour cette réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/03/2014, 14h38
  2. Réponses: 14
    Dernier message: 13/09/2007, 12h26
  3. Afficher sur plusieur ligne du texte dans une balise <td>
    Par G_Kill dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 02/12/2006, 08h50
  4. Réponses: 3
    Dernier message: 14/06/2006, 11h04
  5. [MySQL] afficher le resultat dans 2 collones
    Par apprenti-fab dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/01/2006, 12h12

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