2014-02-11 3 views
0

Все, что я хочу, чтобы получить выбранное значение «Descr». Загрузка ListBox хороша, выбрана, но не получает значения. Получена ошибка:. «Не удается привести объект типа клиента к типу„“System.Data.DataRowViewListBox 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 

Если я загружаю List1 старому моды без сбора и класса, никаких проблем, чтобы получить выбранный пункт Цените ваш помочь парням!

string strSelected = List1.SelectedItem.ToString(); 

ответ

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

Имейте в виду, что вы добавляете Customers объекты в списке вместо DataRow сек

+0

Спасибо! Быстро и прямо на. – user3200249

+0

Если вы нашли правильный ответ, отметьте его как принятый – mnieto

Смежные вопросы