ListViewSubtemCollection用于其键的是什么?

时间:2008-10-01 23:25:27

标签: .net listview

我试图获取一些ListViewSubItems的值,但我不知道它用于其键的值。我有一些简单的代码:

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

???部分是我遇到问题的地方。我无法弄清楚键是什么。我已经尝试过ListView的列名而没有运气。我想使用此方法而不是使用数字索引。

3 个答案:

答案 0 :(得分:1)

您只能使用列索引来添加子项,但您可以通过创建包含每个列的索引的枚举来使其更容易阅读。

答案 1 :(得分:1)

ListViewSubItem的关键是Name属性,如here所述。

将Name设置为等于列名,将允许您通过列的名称索引SubItems。

以某些代码为例

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

答案 2 :(得分:0)

子项目仅按列索引排序。所以你必须像以下一样访问它们:

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