begin process at 2010 02 10 10:23:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

Listbox simple en C#


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Listbox simple en C#

mardi 20 novembre 2007 à 14:42:24 | Listbox simple en C#

Moris20

Bonjour,

Voici mon problème, je souhaite créer une listbox récupérant dans une table SQL id + nom + prenom sur chaque ligne,
puis, lorsque l'on clique sur une ligne, je souhaite récupérer uniquement l'id, je ne souhaite pas utiliser de datagrid.
Dans quel propriété et comment stocker l'id? voici mes pistes: listcontrol, valuemember, selectedvalue, malheureusement je ne comprend pas le fonctionnemement.
Je précise que ce code ne fonctionne pas, mais que la récupération de donnée fonctionne parfaitement.
Je ne souhaite pas utiliser (si possible) les fonction pour couper les chaine des caractère en agissant sur l'item.

//enregistrement de l'id dans la list box
while (r.Read())
{
listbox.Items.Add(r["id"] + " " + r["nom"] + " " + r["prenom"]);
Listbox.SelectedValue = r.['id"];
}

//lecture de l'id
messagebox.show(list_client.SelectedValue.ToString());


Merci du coup de main 
mercredi 21 novembre 2007 à 11:22:50 | Re : Listbox simple en C#

Moris20

Alors tout le monde s'en fiche?
mercredi 21 novembre 2007 à 11:38:10 | Re : Listbox simple en C#

niky

Membre Club
Salut,

utilises plutôt un ListView à la place de ta listbox. Dans la listview, tu pourras ajouter des ListViewItem et placer l'id dans la propriété Tag de chaque ListViewItem.


mercredi 21 novembre 2007 à 15:35:02 | Re : Listbox simple en C#

Kassidy

Sinon ce que tu peut faire c'est un combobox dans lequel tu ajoute des instance d'un  objet que tu a créé toi même, moi c'est ce que  je fait ca marche nikel, et comme ca tu peut recupérer l'info que tu veu.
mercredi 21 novembre 2007 à 17:47:00 | Re : Listbox simple en C#

Moris20

Pour la list view dans le principe sa à l'air de fonctionner, reste plus qu'a tester la pratique.
Pour la combobox,

   Kassidy dit :
   tu ajoute des instance d'un  objet que tu a créé toi même,

Je suis navré mais alors là je ne comprend pas comment faire... je crée un objet avec un attribut "id" en plus? je ne c'est pas le faire mais peut etre... il faudrait que je révise mes classiques.

Merci
mercredi 21 novembre 2007 à 18:15:13 | Re : Listbox simple en C#

Kassidy

Réponse acceptée !
C'est tout à fait possible que ce soit moi qui m'exprime mal  , donc je vais essayer de faire un pitit exemple :

une petite classe genre :

class MesInfo{

    //attributs
    private string _id;
    private string _nom;
    private string _prenom;

    //constructeur
    public MesInfo(string id,string nom,string prenom)
    {
        _id=id;
        _nom=nom;
        _prenom=prenom;
    }
   
    //accesseurs
    public string Id
    {
        get { return _id;}
        set { _id=value;}
    }
   
    public string Nom
    {
       get { return _nom;}
       set { _nom=value;}
    }

    public string Prenom
    {
       get { return _prenom;}
       set { _prenom=value;}
    }

    //ca ca sert a afficher le texte que tu veu dans ta combobox (en gros)
    public override string ToString()
        {
                return _id + " " + _nom + " " + _prenom;
        }
}


et apres pour ajouter un élément dans ta combobox tu fait juste :

maComboBox.Items.Add(new
MesInfo("Mon Id","Mon Nom",Mon Prenom"));

et pour recuprer quelque chose :

MesInfo info=( MesInfo ) maComboBox .SelectedItem;

et voilou apres tu recupère ce que tu veu a partir de ton objet info ( info.Id / info.nom / info.prenom )

ex pour la messagebox :

messagebox.show( info.Id );

je trouve ca très pratique car c'est une classe que tu peu reutiliser souvent.





jeudi 22 novembre 2007 à 08:58:58 | Re : Listbox simple en C#

Moris20

Magnifique, non seulement sa résoud mon problème, mais en plus sa me fait un rappel  en  objet dont j'avais énormément besoin.

Sur ce, je vais faire 2 ou 3 petit test, Merci.
jeudi 22 novembre 2007 à 10:48:50 | Re : Listbox simple en C#

Moris20

On s'éloigne du sujet principal mais,

Kassidy a dit :
    //ca ca sert a afficher le texte que tu veu dans ta combobox (en gros)
    public override string ToString()
        {
                return _id + " " + _nom + " " + _prenom;
        }

L'objet est crée, mais :
Comment appel-ton-cette fonction a partir d'un bouton hors de la classe, pour afficher le résultat dans une messagebox.
Comment appel-ton les accesseurs à partir d'un bouton hors de la classe.
Coment passe t'on en paramètre la valeur d'un champ textbox.

privatevoid button_Click(object sender, EventArgs e)
{
Mesclients client = newMesclients("turm","turm","turm","turm");
MessageBox.Show("afficher le text de la dernière fonction");
}
privatevoid modifier_Click(object sender, EventArgs e)
{
Mesclients client = newMesclients("","","","");
//En utilisant les accesseurs (sans les mettre dans le constructeur car c'est pour aprendre à utiliser les accesseurs),
//en mettant textbox1.text à la place des value, sa ne fonctionne pas.
textbox1.text
textbox2.text
textbox3.text
textbox4.text
}



Merci
jeudi 22 novembre 2007 à 11:56:40 | Re : Listbox simple en C#

Kassidy

Réponse acceptée !
En fait tu n'appelle pas la methode ToString() "toi même", c'est lorsque ton objet s'affiche dans ton combobox qu'il y a appel à cette fonction,car sans elle il y aurrait normalement écrit un truc genre :

"MonProjet. MonEspace.MesClients"
 (en imaginant que ton projet s'appelle "MonProjet" et que la définition de ta classe soit dans le namespace "MonEspace" (les namespaces si j'ai bien compris c'est + ou - comme les package java) )

alors qu'avec l'override (qui permet de modifier une fonction), on peut à la place afficher ce que l'on veut...

sinon pour les accesseur c'est très simple :

private void button_Click( object sender, EventArgs e)
{
    //les champs seront egale a "" comme ecrit dans le constructeur sans parametre
    Mesclients client = new Mesclients ( );  

    textbox1.Text= "blabla"
    //
defini la valeur Id de client
    client.Id= textbox1.Text ;
   
   
// defini la valeur Nom de client
    client.nom="un nom";

    //affichera "blabla";
    MessageBox.show(client.id);

    //obitent la valeur Id de client, la textbox2 contiendra "blabla"
    textbox2.text=client.Id;
}

voili voilou
jeudi 22 novembre 2007 à 11:59:19 | Re : Listbox simple en C#

Kassidy

Réponse acceptée !
Oups désolé je pensait avoir fait un constructeur sans parametre...

il faudrait en rajouter un autre pour que ce que j'ai fait fonctionne :

//a ajouter dans la class MesClients,en plus de l'autre constructeur :
  public MesInfo()
    {
        _id="";
        _nom="";
        _prenom="";
    }


1 2

Cette discussion est classée dans : simple, listbox, id, souhaite, selectedvalue


Répondre à ce message

Sujets en rapport avec ce message

Pb de récupération de listbox [ par AshenShugar ] Salut tout le monde,Voila, j'ai une listBox à sélection multiple remplie par une DataTable avec du colonne : 1 pour l'ID et l'autre pour le Nom. J'ai ListBox question simple Merci [ par iian2 ] Allo,J'ai exemple un ListBox avec les elements suivant:Si ma langue de mon application est en fr   Vert        0   Rouge     1   Bleu        2fin siSi question simple [ par gazalii ] bonjour j'ai une petite question simple :$ mais qui me bloque comment je peux transferer une variable d'une page .aspx a une autre aspxje fais dans ma Postionnement curseur ListBox [ par LordBob ] Bonjour a tous,voila en fait, je souhaite faire une recherche d'une chaine de caractere dans une ListBox. En fait j'arrive à récupéré les indices des PropertyGrid [ par bcazard ] Bonjour a tous, Je souhaite proposer a l'utilisateur la possibilité de modifier les propriétés d'un objet via un control PropertyGrid. Mon objet possè lister les PCs online d'un reseau dans une listBox [ par Isa09 ] Demande d'aide... Dans le cadre d'1projet, je voudrais lister tous les ordinateurs online d'un reseau et suis coincé....Suis nouvelle en programmation dropdowncolumn qui pilote une autre dropdowncolumn [ par oandre ] Salut Je suis en train de construire une appli dans laquelle j'ai un DataGrid. Ce DataGrid contient entre autre deux colonnes de type DropDown. A ce pb de modification [ par perrotta ] bonjour , je developpe un service web avec c# sous vs.net 2008,et pour la base de donnees j'utilise sql server 2005; j'ai crée la methode d'insertion ToolTip Binding ListBox.Items.Count [ par lelio1407 ] Bonjour, J'ai un UserControl avec un label et une ListBox. Je souhaite mettre un tooltip sur le label qui me renvoie le nombre d'Items de ma ListBox.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales