1

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

我做了一个这样的课程:

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

这不会给出任何错误,但也不会在数据网格中显示任何数据。我有一种感觉,我在两者之间缺少了一些东西。澄清如何将数据绑定到数据网格将非常有帮助。

4

1 回答 1

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

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

于 2012-06-11T16:01:39.157 回答