显示来自类型已知的通用列表的WinForm中的数据列表

时间:2016-01-08 15:13:04

标签: c# winforms listview

所以,我对这些东西都很陌生。 我从REST调用中获得了IEnumerable<BasicClient>返回类型。 我有一些模糊的记忆,有一些方法可以绑定一个 列表到.NET控件,但对于我的生活,我不记得如何做到这一点。

任何人都有指针给我,好吗?

1 个答案:

答案 0 :(得分:2)

这是如何将集合绑定到ListBox的一个非常基本的示例。由于我不知道BasicClient我用这个类演示了它:

public class Poco
{
    public string Name { get; set; }
    public string Description { get; set; }
}

我有一个FormListBox名为listBox1Form的字段_pocosList<Poco>。要在问题中使用IEnumerable我声明了一个返回该字段的属性IEnumerable<Poco> Pocos

public partial class Form1 : Form
{
    private readonly List<Poco> _pocos = new List<Poco>();
    public IEnumerable<Poco> Pocos { get { return _pocos; }} 

    public Form1()
    {
        _pocos.AddRange(new[] {
            new Poco {Name = "Poco1", Description = "Description1"},
            new Poco {Name = "Poco2", Description = "Description2"}
        });

        InitializeComponent();

        listBox1.DataSource = Pocos;
        listBox1.DisplayMember = "Name";
    }

如您所见,我将listBox1.DataSource设置为此属性Pocos并使用listBox1.DisplayMember属性告诉ListBox它应显示的成员。

结果如下:

enter image description here

对于多列控件,这可能稍微复杂一些,但MSDN上有一些示例。搜索关键字DataSourceDisplayMember