如何在winforms中将列表的内容显示到DataGridView中

本文关键字:显示 DataGridView 列表 winforms | 更新日期: 2023-09-27 18:03:47

我的问题很简单。我正在为学校的一个项目制作日历。我需要向对象列表添加某些属性,以便将事件保存到日历中。我已经设法向列表中添加了一些东西,但我还没有找到在Winforms中显示列表中所有事件的方法。我的教授建议我使用DataGridView来显示列表的内容。有人能告诉我如何我可以绑定对象在我的列表到一个DataGridView,每当我添加到列表的东西也添加到网格?这将是非常感激的。

到目前为止我写的是:

    public static List<Event> events = new List<Event>();
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
    public static void addEvent(string eventDate, string eventTitle, string eventInfo)
    {
        Event Event = new Event();
        Event.eventDate = eventDate;
        Event.eventDate = eventTitle;
        Event.eventInfo = eventInfo;
        events.Add(Event);
    }
}

class Event
{
    public string eventDate { get; set; }
    public string eventTitle { get; set; }
    public string eventInfo { get; set; }
}

}

如何在winforms中将列表的内容显示到DataGridView中

将您的DataGridView绑定到BindingList。

代码:

public static void addEvent(string eventDate, string eventTitle, string eventInfo)
    {
        Event Event = new Event();
        Event.eventDate = eventDate;
        Event.eventDate = eventTitle;
        Event.eventInfo = eventInfo;
        events.Add(Event);
        var bindinglist = new BindingList<Event>(events);
        var source = new BindingSource(bindingList, null);
        grid.DataSource = source;
    }

你不需要做任何特别的事情:

 Event event= new Event();
    event.eventDate = eventDate;
    event.eventDate = eventTitle;
    event.eventInfo = eventInfo;
    events.Add(event);
DataGridView1.DataSource = events;

但是请确认您的Event类被定义为公共类