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

时间:2014-05-18 04:30:34

标签: c# winforms list datagridview

我的问题非常简单。我正在为学校项目制作日历。我需要将某些属性添加到对象列表中,以便将事件保存到日历中。我已经设法将内容添加到列表中,但我还没有找到一种方法来显示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; }
}

}

2 个答案:

答案 0 :(得分:0)

将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;

    }

答案 1 :(得分:0)

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

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

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