4 Stimmen

Leerzeichen zwischen Zeichen in Listbox einfügen

Ich versuche, Elemente in ein Listenfeld in meiner asp.net C#-Anwendung einzufügen

Ich habe einige Werte verkettet und Leerzeichen dazwischen gesetzt, aber sie werden nicht in der Listbox angezeigt.

        ListItem lt = new ListItem();
        lt.Text = ItemName + "    " + barcode + "    " + price; // problem
        lt.Value = barcode;
        lstMailItems.Items.Add(lt);

Ich habe sogar versucht

lt.Text = ItemName + "\t\t" + barcode + "\t\t" + price; // problem
lt.Text = ItemName + "& nbsp;" + barcode + "& nbsp;" + price; // &nbsp shows up as text

aber auch das scheint nicht zu funktionieren. Wie kann ich Leerzeichen zwischen diese Zeichenfolgen setzen, damit sie auch in der Listbox angezeigt werden?

5voto

Jaelebi Punkte 5343
string spaces = Server.HtmlDecode("    "); 

lt.Text = ItemName + spaces + barcode + spaces + price; // works

2voto

Russ Huddleston Punkte 21

Ich hatte das gleiche Problem, und die obigen Antworten führten mich zu dieser Lösung, die bei mir funktionierte.

string space = " ";
                space = Server.HtmlDecode(space);
                line = line.Replace(" ", space);
                ClassCodeListBox.Items.Add(line);

1voto

Myra Punkte 3636

Versuchen Sie

lt.Text = string.Format("{0}\\ \\;{1}\\ \\;{2}",ItemName,barcode,price);

Ersetzen Sie \ \ durch &nbsp Wenn Sie nicht sehen können.

Oder

lt.Text = string.Format("{0} {1} {2}",ItemName,barcode,price);

0voto

Jim Schubert Punkte 19957

Hier sind zwei Beispiele, die gut funktionieren, und wie man den Strom formatiert bekommt:

  var SaleItem = new
    {
        name = "Super Cereal",
        barcode = "0000222345",
        price = 2.55m
    };

    ListItem lt = new ListItem();
    string space = " ";
    lt.Text = String.Concat(SaleItem.name, 
        space, SaleItem.barcode, space, SaleItem.price);
    lt.Value = SaleItem.barcode;

    ListItem lt2 = new ListItem();
    lt2.Text = string.Copy(String.Format("{0}: {1} {2}", 
               SaleItem.name, SaleItem.barcode, SaleItem.price.ToString("C")));
    lt2.Value = SaleItem.barcode;

    lstMailItems.Items.Add(lt);
    lstMailItems.Items.Add(lt2);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X