none
c# faire une liste de contenu d'un listbox separer par des virgules RRS feed

  • Question

  • Salut a tous

    Jai une listBox qui contient du texte sur plusieurs lignes 

    examples

    1 = asdf 123()

    2 = dfgh 456()

    3 = ghjk 753()

    et plus

    je cherche le moyen de les placer dans une liste separer par une virgule.

    asdf 123(), dfgh 456(), ghjk 753()

    pour ainsi les placer dans une autre commande

    Merci


    Daniel

    samedi 2 juin 2012 17:16

Réponses

  • Bon Voila J'ai réglé ce problême de cette façon

    ca semble bien fonctionné il me reste beaucoup de travail encore sur ce projet voici le code

    

    string[] concat = new string[lstFiedName.Items.Count]; lstFiedName.Items.CopyTo(concat, 0); string texte = string.Join(", ", concat); lblCMDText.Text = "Create Table [" + tTableName.Text + "

    ] (" + texte + ")";


    Merci encore pour votre aide.

    Daniel


    • Marqué comme réponse DanielMorais dimanche 3 juin 2012 18:21
    • Non marqué comme réponse DanielMorais dimanche 3 juin 2012 18:22
    • Modifié DanielMorais dimanche 3 juin 2012 18:24
    • Marqué comme réponse DanielMorais dimanche 3 juin 2012 18:25
    dimanche 3 juin 2012 14:37

Toutes les réponses

  • Bonjour,

    La méthode String.Join me parait répondre à votre besoin:
    http://msdn.microsoft.com/fr-fr/library/system.string.join.aspx

    ...Après peut etre que la question était plus orientée d'un point de vue architecture... Si c'est le cas, merci de préciser comment est renseignée la listbox et de nous en dire plus sur cette autre commande.

    Cordialement,

    Charles HETIER

    samedi 2 juin 2012 19:03
  • Bonjour charly

    Merci beaucoup pour votre intervention

    En faite ma listbox est charger de la facon suivante

     

    lstFiedName.Items.Add(tColName.Text + " "

    + cboColType.Text + "(" + tColSize.Text + ")");

    et en suite je veut creer une liste separer une vigule

    pour en faite creer une ligne de commande SQLCE

    et la derniere ligne du listbox ne doit pas avoir de virgule.

    sql="create Table listboxline1, listboxline2, listboxline3, listboxline4";

    Avant j'avais cette commande mais lors du dernier plantage  surprise plus aucun codes plus rien allors je dois tous recommencer

    Merci


    Daniel


    samedi 2 juin 2012 19:19
  • Bonjour,

    Avez-vous essayé :

    string s;
    s = string.Join(",", this.listBox1.Items);

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 3 juin 2012 12:07
    Modérateur
  • Bonjour Gilles

    Oui!

    et sa me donne ceci

    System.Windows.Forms.ListBox+ObjectCollection

    avec cela

    string s;
    s = string.Join(",", lstFiedName.Items);
    t1.Text = s;

    ai-je oublier quelque chose.

    merci


    Daniel

    dimanche 3 juin 2012 14:00
  • Bonjour Gilles

    Oui!

    et sa me donne ceci

    System.Windows.Forms.ListBox+ObjectCollection

    avec cela

    string s;
    s = string.Join(",", lstFiedName.Items);
    t1.Text = s;

    ai-je oublier quelque chose.

    merci


    Daniel

       Si j'utilise ces lignes de codes je recoit seulement la derniere lignes du listbox

     foreach (string lst in lstFiedName.Items)
                {
                    string s = string.Join(",", lst);
                    t1.Text = s; 
                }
    Merci

    Daniel

    dimanche 3 juin 2012 14:20
  • Re bonjour

    je crois avoir réglé mon probleme je suis a reverifier un bout de code que j'avais perdus mais je vien de retrouver

    je vous en ferais part plus tard.

    Merci


    Daniel

    dimanche 3 juin 2012 14:27
  • Bon Voila J'ai réglé ce problême de cette façon

    ca semble bien fonctionné il me reste beaucoup de travail encore sur ce projet voici le code

    

    string[] concat = new string[lstFiedName.Items.Count]; lstFiedName.Items.CopyTo(concat, 0); string texte = string.Join(", ", concat); lblCMDText.Text = "Create Table [" + tTableName.Text + "

    ] (" + texte + ")";


    Merci encore pour votre aide.

    Daniel


    • Marqué comme réponse DanielMorais dimanche 3 juin 2012 18:21
    • Non marqué comme réponse DanielMorais dimanche 3 juin 2012 18:22
    • Modifié DanielMorais dimanche 3 juin 2012 18:24
    • Marqué comme réponse DanielMorais dimanche 3 juin 2012 18:25
    dimanche 3 juin 2012 14:37