Announcement

Collapse
No announcement yet.

ListItem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ListItem

    hallo,
    wie kann ich einem Item in einer ComboBox selbst indizieren.
    Code:
    // Add projects
    			foreach (Project project in projects)
    			{
    				ListItem listItem = new ListItem(project.Name, project.ID.ToString());
    				this.dropDownListProject.Items.Add(listItem);
    			}


    unter asp kann man ja ein list item nutzen!

    Will du nummer auch nicht mit angezeigt haben, sondern nur das feld damit indiziert, und mir somit den wert dan über selected index zurückzugeben.
    Brauche das, da ich darüber ein paar sachen in der Datenbank regel

    Gruß Andreas

  • #2
    Hallo,

    Brauche das, da ich darüber ein paar sachen in der Datenbank regel
    Wenn zusätzlich zur sichtbaren Zeichenkette weitere Daten direkt im der Listbox/Combobox benötigt werden, sollte dort ein Instanz einer eigenen Klasse abgelegt werden. Die Klasse muss die von System.Object geerbte Methode ToString überschreiben, um die automatisch korrekte Darstellung der eigenen Elemente im List Control sicherzustellen:

    Code:
    using System;
    
    public class OSListBoxObject
    {
    	public string FirstName;
    	public string LastName;
    	public int Age;
    	
    	public OSListBoxObject()
    	{
    	}
    
    	public OSListBoxObject(string firstName, string lastName, int Age)
    	{
    		this.FirstName = firstName;
    		this.LastName = lastName;
    		this.Age = Age;
    	}
    	
    	public override string ToString()
    	{
    		return FirstName + " " + LastName;
    	}
    }
    Klasse im Formular verwenden, um zusätzliche Daten zu speichern. Im folgenden Beispiel werden nur 2 von 3 Informationen angezeigt:

    private void Form1_Load(object sender,
    System.EventArgs e)
    {
    listBox1.Items.Add(new OSListBoxObject("Andreas", "Kosch", 40));
    listBox1.Items.Add(new OSListBoxObject("Bernd", "Ritz", 43));
    listBox1.Items.Add(new OSListBoxObject("Wolfgang", "Regel", 55));
    }

    private void listBox1_SelectedIndexChanged(object sender,
    System.EventArgs e)
    {
    OSListBoxObject aObj;
    aObj = (OSListBoxObject)listBox1.SelectedItem;
    statusBar1.Text = String.Format("{0} - {1}", listBox1.Text, aObj.Age.ToString());
    }

    Comment

    Working...
    X