2012-06-11 41 views
1

我試圖將數據列表綁定到數據網格,但不能這樣做。我在這裏給我的代碼。如何顯示列表數據到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; 
    } 

這不會給任何錯誤,也沒有表現出任何數據網格中的數據。我有一種感覺,我錯過了一些東西。關於如何將數據綁定到數據網格的說明會非常有幫助。

+0

很高興我的回答幫助了你 - 向其他人展示它,你可以點擊複選標記我的箭頭。當它是綠色時表明它是被接受的答案。另外,一旦你有足夠的聲譽,你可以upvote其他答案,幫助你。 –

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

使用自動屬性,但當然也可以使用速記語法爲好。

+0

非常感謝...我知道了。 –

相關問題