Ich habe eine Listbox basierend auf einer Datenbanktabelle erstellt, in der die DisplayMember-Elemente der Listbox über Zeichenfolgenverkettung erstellt werden und die ValueMember-Elemente die bigInt PK aus der Tabelle darstellt. Die Listbox ist an ein Text/Value-Objekt gebunden, wie unten gezeigt.C# Listbox Wert ist Null nach dem Festlegen von SelectedValue
List<ComboSearchItems> csi = new List<ComboSearchItems>();
foreach(var i in q)
{
ComboSearchItems ci = new ComboSearchItems(String.Concat(i.Id, " - ", i.Name, " - ", i.CompanyName), i.Id);
csi.Add(ci);
}
lstCompany.DataSource = csi;
lstCompany.DisplayMember = "Text";
lstCompany.ValueMember = "Value";
lstCompany.SelectedIndex = 0;
lstCompany.Refresh();
public class ComboSearchItems
{
public string Text { get; set; }
public Int64 Value { get; set; }
//Constructor
public ComboSearchItems(string t, Int64 v)
{
Text = t;
Value = v;
}
}
Die Listbox wird aufgefüllt und richtig angezeigt wird, aber wenn ich die SelectedValue Eigenschaft über den Code unter dem Listenfeld des SelectedValue Änderungen einzustellen versuchen, auf null.
lstCompany.SelectedValue = 16844;