2 Stimmen

C# winForm Grundlagen Combobox

Hallo alle, ich habe eine ComboBox gebaut, die manuell Elemente wie diese erhält:

var newitem = new { fullname =c.Company+" "+ c.FirstName + " " + c.LastName,
                    custId = c.CustomerID };

c_dropCustomers.Items.Add(newitem);

später auf Combo Selection Ereignis, würde ich wollen, um aus der custId (Der Wert) nur aber ich weiß nicht, wie man es zu erreichen.

SOS :)

4voto

astellin Punkte 404

Unter der Annahme von c# 4.0:

dynamic item = c_dropCustomers.SelectedItem;
dynamic customerID = item.custId;

0voto

Bob Punkte 3181

Sie müssen eine Klasse definieren, damit Sie später auf sie zurückgreifen können. Sie können nicht auf eine anonyme Klasse casten (AFAIK).

0voto

Crispy Punkte 5477

Wenn ich Ihre Frage richtig verstehe:

var item = c_dropCustomers.SelectedItem;
var custId = item.custId;

EDIT : (C# 3.5)

Wenn es sich wirklich um einen anonymen Typ handelt, müssen Sie etwas wie folgt tun:

        ComboBox cb = new ComboBox();
        cb.Items.Add(new { fullname = "Company" + " " + "First Name" + " " + "Last Name", custId = 44 });

        cb.SelectedIndex = 0;

        var item = cb.SelectedItem;
        var custId = item.GetType().GetProperty("custId").GetValue(item, System.Reflection.BindingFlags.GetProperty, null, null, null);

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