带有List集合的ListBox SelectedItem

时间:2014-02-11 15:11:28

标签: c# winforms listbox

我只想获得“描述”的选定值。 ListBox加载好,选中,但没有得到值。出现错误:“无法将类型为Customer的对象强制转换为'System.Data.DataRowView'

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

如果我加载List1旧的时尚方式没有集合和类,没有问题来获取所选项目。感谢你的帮助!

string strSelected = List1.SelectedItem.ToString();

1 个答案:

答案 0 :(得分:1)

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

请注意,您要将Customers个对象添加到列表而不是DataRow s