Avatar billede marduk666 Nybegynder
28. juli 2004 - 18:24 Der er 5 kommentarer og
2 løsninger

Combobox: dropdownlist værdi fra text.

Jeg har en combobox dropdownlist, hvor jeg gerne vil tilføje nogle værdier og bag de værdier skal der gemme nogle andre, ligesom i en html combobox:
<select name="">
<option value="1">En</option>
<option value="2">To</option>
<option value="3">Tre</option>
</select>

Når jeg vælger "To", så vælger jeg rent faktisk "1", hvordan gør man det i C#?
Avatar billede sovsekoder Nybegynder
28. juli 2004 - 23:23 #1
for at tilføjge elementer til comboBox1 :

comboBox1.Items.Add(new myItem("Et", "0"));
comboBox1.Items.Add(new myItem("To", "1"));
comboBox1.Items.Add(new myItem("Tre", "2"));
comboBox1.Items.Add(new myItem("Fire", "3"));


For at tilgå det valgte item (SelectedItem) i combo-boxen:
if(comboBox1.SelectedIndex>=0)
{
  myItem selectedItem = (myItem)comboBox1.SelectedItem;
  MessageBox.Show("name = "+selectedItem.ItemName+", Value = "+selectedItem.ItemValue);
}

Følgende klasse tilføjes for at kunne ligge mere information i navnene (objekterne) i coboboxen:

class myItem
{
    string itemValue = "";
    string itemName = "";
    public myItem(string itemName, string itemValue)
    {
        this.itemName = itemName;
        this.itemValue = itemValue;
    }
    public override string ToString() {return itemName;}
    public string ItemName {get {return itemName;}}
    public string ItemValue {get {return itemValue;}}
}
Avatar billede sovsekoder Nybegynder
28. juli 2004 - 23:25 #2
men ligger derfor objecter ind i comboboxen. Objecternes navne vises ved at .NET kalder ToString() på objecterne (så den metode overrides). Når man henter objektet caster man det til den hjemmestrikkede type, og man kan nu tilgå de variable man har gemt i objektet
Avatar billede wisen Nybegynder
29. juli 2004 - 08:11 #3
.. du kan også definere en klasse og smide instanser af den ind i din combobox - ligesom sovsekoder skriver - men hvis du ikke er tilfreds med at den benytter "ToString()" på dit objekt kan du styre hvilken værdi der vises via comboksen "DisplayMember".

DisplayMember - Gets or sets a string that specifies the property of the data source whose contents you want to display.
Avatar billede marduk666 Nybegynder
29. juli 2004 - 12:11 #4
Takker for hjælpen, det var det jeg skulle bruge, smid et svar begge to.
Avatar billede wisen Nybegynder
29. juli 2004 - 12:39 #5
1 stk. svar :)
Avatar billede marduk666 Nybegynder
30. juli 2004 - 12:26 #6
sovsekoder du skal osse smide et svar :P
Avatar billede sovsekoder Nybegynder
02. august 2004 - 23:35 #7
1 stk svar :-o
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester