2016-12-02 3 views
0

私はこことGoogleのすべてを検索しましたが、これに対する答えはまだ見つかりません。 AmazonのAPIを使って遊んでいて、簡単なWindowsフォームを作成してDataGridViewにデータを表示しようとしています。 GridViewは、私が得ている10の結果に対して10行を生成していますが、実際のデータで行を埋めていません。彼らはただ空白です。DataGridViewはデータなしの行を生成しています

以下のコードは、DataTableを返すメソッド(GetResults)です。データを得るために上記のコードがたくさんあるので、私はそのすべてを表示しませんでした。

  DataTable dt = new DataTable(); 
      dt.Columns.Add("ASIN", typeof(string)); 
      dt.Columns.Add("Title", typeof(string)); 

      // write out the results 
      foreach (var item in response.Items[0].Item) 
      { 
       Product product = new Product(item.ASIN, item.ItemAttributes.Title); 
       Console.WriteLine(product.ASIN); 
       var dr = dt.NewRow(); 
       dr["ASIN"] = product.ASIN; 
       dr["Title"] = product.Title; 
       dt.Rows.Add(); 
      } 
      return dt; 
     } 

     private void btnSearch_Click(object sender, EventArgs e) 
     { 
      dgvProducts.AutoGenerateColumns = false; 
      dgvProducts.DataSource = GetReults(); 
     } 

私はそれをコンソールに書き出しているため、正しく表示されているので情報が得られていることは知っています。

public class Product 
    { 
     private string asin; 
     private string title; 

     public Product() { } 

     public Product(string newAsin, string newTitle) 
     { 
      this.asin = newAsin; 
      this.title = newTitle; 
     } 


     public string ASIN 
     { 
      get { return asin; } 
      set { asin = value; } 
     } 

     public string Title 
     { 
      get { return title; } 
      set { title = value; } 
     } 

私は自分自身を=偽AutoGenerateColumnsを設定すると、列のデータバインディングを設定しようとしたが、それはどちらか何もしなかった。

は、私はまた、製品のために、この基本的なクラスを持っています。

答えて

2

テーブルに空の行を追加します。新しく作成した行は追加しません。

Change 
    dt.Rows.Add(); 
To 
    dt.Rows.Add(dr); 
+0

私はばかです。ありがとうございました。 –

関連する問題