我可以设置ListView的内容吗?

时间:2014-04-23 06:30:28

标签: c# winforms listview

我有一个包含几个嵌套列表的数据模型,我想使用ListViews来显示它们,因为我喜欢列表中的详细信息。

例如数据模型

public class EventModel
{
    public List<EndPointType> Targets { get; set; }
    public string EventTime { get; set; }
    public DataEvent EventMessage { get; set; }
}

public class EndPointType
{
    public int Type;
    public List<EndPoint> Displays {get; set;}
}

public class EndPoint
{
    public string DisplayName { get; set; }
    public string DisplayCode { get; set; }
}

我希望在一个ListView中保留EventModel的列表,我知道如何使用标记和子项执行此操作。

我的问题是从列表中选择EventModel 是否有可能第二个ListView更新其项目以反映所选List<EndPointType>的{​​{1}}

TL; DR你能设置ListView的全部内容,类似于使用ListBox.Datasource吗?

1 个答案:

答案 0 :(得分:1)

编辑:for winforms ... 对SelectionChanged事件尝试类似的事情:

private void list_SelectedIndexChanged(object sender, EventArgs e)
{
    var eModel = (EventModel)((ListView)sender).SelectedItem;

    var targets = GetEndPointTypesFromList(eModel);
    listView1.Items.Clear();
    foreach(var target in targets)
    {
        listview.Items.Add(target.Type.ToString());
    }

}