2013-04-15 2 views
2

Я создаю приложение формы Windows в Visual Studio 2010. У меня есть база данных Access, в которой есть таблица «ResearcherInfo».Windows forms listbox.selecteditem, отображающий «System.Data.DataRowView» вместо фактического значения

В моей форме окна у меня есть список, который заполняется содержимым имени столбца «Имя научного сотрудника» этой таблицы.

Однако, когда я пытаюсь получить выбранные элементы этого текстового поля, он возвращает только мне нулевое значение или иногда System.Data.DataRowView в зависимости от того, как я к нему доступ

Я попытался

string name = projectmembers_lst.SelectedItem.ToString(); 

при отладке, когда я наведите курсор на слово «projectmembers_lst», он правильно показывает мне projectmembers_lst = {SelectedItem = «Jerome»}

но парит над строкой «имя», он показывает «имя =» System .Data.DataRowView ""

я даже пытался копировать в массив

foreach (Object selecteditem in projectmembers_lst.SelectedItems) 
    { 

     object[] objCollection = new object[projectmembers_lst.SelectedItems.Count]; 

     projectmembers_lst.SelectedItems.CopyTo(objCollection, 0); 

     MessageBox.Show(objCollection[0] as string); 
    } 

Ничто не получает меня выбранные элементы. Я не уверен, что здесь не так.

Наполнение List Box:

1) Я добавленный таблицу доступа 'ResearcherInfo. как источник данных для приложения веб-формы.

2) В свойствах Listbox, на вкладке Datasource, я связал эту таблицу и дал значение элемента отображения и значения элемента списка Listbox в качестве имени столбца «Имя исследователя» в таблице.

Итак, в основном мой список отображает имена исследователя из информационной таблицы Исследователя. прикрепленный снимок. enter image description here

+0

Может быть вам нужно .SelectedValue? Не могли бы вы показать нам, как вы заполнение поля со списком? –

+0

Я отредактировал мой первый вопрос в ответ. –

+0

спасибо. Он работал с ответом ниже: –

ответ

0

, не видя, как вы его заселяете, трудно догадаться.

попробовать ((objCollection [0] в качестве DataViewRow) [0] в виде строки

+0

Brilliant. Это сработало ((objCollection [0] как DataRowView) [1] как строка). Большое спасибо. –

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