2009-03-24 2 views
1

HI,ListView Выбор

мне нужно выбрать один элемент (ячейка) в ListView

+0

Вы спрашиваете, как выбрать один подэлемент подряд (а не вся строка) в деталях режим виде списка? –

+0

Winforms? WPF? Другие? –

ответ

0

Следующий код вызывает все элементы в списке не будет выбран, то это вызывает пункт # 2 для выбора. Я уверен, что вы можете легко адаптировать этот код к своей проблеме. Кстати, в элементах просмотра списка используется индексирование с нулевым значением; поэтому элемент № 2 фактически является третьим элементом в представлении списка.

 for (int i = 0; i < listView1.Items.Count; i++) 
     { 
      listView1.Items[i].Selected = false; 
     } 

     // select item #2 
     listView1.Items[2].Selected = true; 
2

Вы не можете выбрать «подэлементы» в ListView. Если вы хотите выбрать «ячейки», вам нужно будет использовать gridview.

1

Я разработал сторонний компонент под названием Better ListView, который позволяет выбирать подпозиции со стрелками.

Можно также пометить редактируемые подпозиции, использовать в них значки и т. Д.

Если вам нужно использовать подпункты как клетка экстенсивна, сеточные-как элементы управления являются лучшим выбором для вас, так как они лучше разработаны для матриц вместо списков.

1

Если невозможно выбрать одну ячейку, но можно выполнить REFER для значения одной ячейки. Ниже приведена ссылка для этого (получение значения для ячейки).

http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.selecteditems.aspx

 // Uses the SelectedItems property to retrieve and tally the price 
    // of the selected menu items. 

private void ListView1_SelectedIndexChanged_UsingItems(
    object sender, System.EventArgs e) 
{ 

    ListView.SelectedListViewItemCollection breakfast = 
     this.ListView1.SelectedItems; 

    double price = 0.0; 
    foreach (ListViewItem item in breakfast) 
    { 
     price += Double.Parse(item.SubItems[1].Text); 
    } 

    // Output the price to TextBox1. 
    TextBox1.Text = price.ToString(); 
} 
Смежные вопросы