Что ListViewSubtemCollection использует для своих ключей? - PullRequest
1 голос
/ 02 октября 2008

Я пытаюсь получить значение некоторых ListViewSubItems, но я не знаю, какие значения он использует для своих ключей. У меня есть простой код:

    protected override void OnItemDrag(ItemDragEventArgs e)
    {
        base.OnItemDrag(e);            
        ListViewItem item = e.Item as ListViewItem;
        string val = item.SubItems[???].ToString(); 
    }       

??? часть, где у меня проблемы. Я не могу понять, что это за ключи. Я попробовал имена столбцов ListView без удачи. Я хотел бы использовать этот метод вместо использования числовых индексов.

Ответы [ 3 ]

1 голос
/ 02 октября 2008

Вы можете использовать только индекс столбца для добавления подэлементов, но вы можете упростить его чтение, создав перечисление, содержащее индекс каждого из ваших столбцов.

1 голос
/ 02 октября 2008

Ключ ListViewSubItem - это свойство Name, как описано здесь .

Установка имени, равного имени столбца, позволит вам индексировать подэлементы по имени столбца.

И некоторый код в качестве примера

ListViewItem myListViewItem = new ListViewItem();<br> ListViewItem.ListViewSubItem myListViewSubItem = new ListViewItem.ListViewSubItem();<br> myListViewSubItem.Text = "This will be displayed";<br> myListViewSubItem.Name = "my key";<br> myListViewItem.SubItems.Add(myListViewSubItem);<br> ListViewItem.ListViewSubItem subItem = myListViewItem.SubItems["my key"];<br>

0 голосов
/ 02 октября 2008

Подпункты упорядочиваются только по индексу столбца. Таким образом, вам нужно получить к ним доступ как:

protected override void OnItemDrag(ItemDragEventArgs e)
{
    base.OnItemDrag(e);            
    ListViewItem item = e.Item as ListViewItem;
    string val = item.SubItems[0].ToString(); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...