2014-02-11 120 views
0

所有我想获得选定的值“Descr”。 ListBox加载好后,选中,但没有得到一个值。得到了一个错误:“无法转换类型客户的对象。如果我加载列表1旧的方式方法,而不收集类,获得选择没有问题的项目键入‘System.Data.DataRowView’列表框SelectedItem与列表集合

List<Customers> lstToLoad = new List<Customers>(); 

public class Customers 
{ 
    public string Descr { get;set; } 
    public int AccNum { get; set; } 
} 

DataSet ds = LoadAvailCustomers(); 
foreach (DataRow dr in ds.Tables[0].Rows) 
{ 
    lstToLoad .Add(new Customers{Descr = dr["Descr"].ToString(),AccNum = (int)dr["AccNum"]}); 
} 

List1.DisplayMember = "Descr"; 
List1.ValueMember = "AccNum"; 
List1.DataSource = lstToLoad ; 
List1.SelectedIndex = 0; 
List1.Select(); 

string strSelected = ((DataRowView)List1.SelectedItem)["Descr"].ToString(); <<<--error here 

感谢您帮助你们!

string strSelected = List1.SelectedItem.ToString(); 

回答

1
string strSelected = ((Customers)List1.SelectedItem).Descr; 

要知道,你要添加Customers对象列表,而不是DataRow小号

+0

谢谢!快速和正确的。 – user3200249

+0

如果您发现我的问题正确,请将其标记为已接受 – mnieto