2013-02-05 2 views
1

списке следует Нужна помощь в выборе значения из столбца CustID в ListView, так что я могу получить значение из базы данных и отобразить его в TextBoxes.The SelectedIndex не работает в C#Получение значения из-под контроля

Благодарности

http://img713.imageshack.us/img713/133/listview.jpg

Мой код

private void yourListView_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (yourListView.SelectedIndex == -1) 
     return; 
    //get selected row 
    ListViewItem item = yourListView.Items[yourListView.SelectedIndex]; 
    //fill the text boxes 
    textBoxID.Text = item.Text; 
    textBoxName.Text = item.SubItems[0].Text; 
    textBoxPhone.Text = item.SubItems[1].Text; 
    textBoxLevel.Text = item.SubItems[2].Text; 
} 
+0

вы используете WinForms или WPF? – algreat

+1

Определить «не работает». Получаете ли вы ошибку времени компиляции, ошибку времени выполнения или фактическое поведение не соответствует ожидаемому поведению. –

+0

Сделали ли вы _cut и paste_ с 'yourListView' в дизайнере? Если это так, обработчик событий больше не отображается на событие 'SelectedIndexChanged', если вы не переназначаете его. –

ответ

9

ListView не обладает свойством SelectedIndex. Вы должны использовать SelectedItems или SelectedIndices.

Таким образом, вы можете использовать это:

private void yourListView_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (yourListView.SelectedItems.Count == 0) 
     return;  

    ListViewItem item = yourListView.SelectedItems[0]; 
    //fill the text boxes 
    textBoxID.Text = item.Text; 
    textBoxName.Text = item.SubItems[0].Text; 
    textBoxPhone.Text = item.SubItems[1].Text; 
    textBoxLevel.Text = item.SubItems[2].Text; 
} 

Я предложил здесь свойство MultiSelect устанавливается в false.

+0

его работа Спасибо – user2006506

0

C# и WPF использовать это:

private void lv_yourListView_SelectedIndexChanged(object sender, EventArgs 
e) 
{ 
    if (yourListView.SelectedItems.Count == 0) 
     return;  

    var item = lvb_listInvoices.SelectedItems[0]; 
    var myColumnData = item.someField; //use whatever you want 
} 
+1

Можете ли вы дать объяснение внесенных изменений? – Greenstick

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