如何将列表数据显示到datagridview中?

时间:2012-06-11 10:51:15

标签: winforms datagridview

我正在尝试将数据列表绑定到数据网格,但不能这样做。我在这里给我的代码。

我做了这样一个课程:

public class Book
{
    int bookID;
    string bookName;
    string athourName;

    public Book(int BookID, string BookName, string AuthorName)
    {


        bookID = BookID;
        bookName = BookName;
        athourName = AuthorName;

    }
}

在表单加载事件下,我编写了以下代码:

 private void Form1_Load(object sender, EventArgs e)
    {
        Book Book1 = new Book(001, "Java", "Harbart");
        Book Book2 = new Book(002, "C", "Balaguru");

        string[] BookArray = new string[10];

        BookArray[0] = Book1.ToString();
        BookArray[1] = Book2.ToString();


        List<Book> Obj = new List<Book>();

        Obj.Add(Book1);
        Obj.Add(Book2);

        dataGridView1.DataSource = Obj;
    }

这不会产生任何错误,但也不会在数据网格中显示任何数据。我有一种感觉,我错过了两者之间的东西。关于如何将数据绑定到数据网格的说明将非常有用。

1 个答案:

答案 0 :(得分:0)

DataGridView要求公共属性自动生成其列。它不适用于公共或私人领域。

将您的班级更改为:

public class Book
{
    public int bookID { get; set; }
    public string bookName { get; set; }
    public string athourName { get; set; }

    public Book(int BookID, string BookName, string AuthorName)
    {
        bookID = BookID;
        bookName = BookName;
        athourName = AuthorName;
    }
}

它使用自动属性,但您当然也可以使用简写语法。