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 に答える