2017-09-24 11 views
0

私はウェブサイトを解析しており、データグリッドビューの列と行にデータを配置する必要があります。私はいくつかのデータを列0のdatagridviewの行に追加してから、古いデータを失うことなく1列目に新しいデータを入れたいと思います。コードの下でこれを試してみますが、最後の値を共有するだけで、すべての行は同じです。新しい列のdatagridview行を更新する

foreach (HtmlNode pricesh in parse.SelectNodes("//div[@class='typeface-js realPrice']")) 
     { 
      string str = pricesh.InnerText;     
      int rowIndex = 0; 
      for (rowIndex=0;rowIndex<=dataGridView1.RowCount-1;rowIndex++) 
       dataGridView1.Rows[rowIndex].Cells[1].Value = str; 
     } 

答えて

0

Add()メソッドは新しい行を追加します。操作する行への参照を取得し、セル値を設定する必要があります。

他の列をDBNull.Valueで上書きしないで、nullに設定します。

ループ外にインデックスを定義し、ループ内でインデックスを増やします。 foreach内の行をループしないでください。行をrowIndexに設定してください。

グリッドに少なくとも選択されたhtmlノードの行があることを確認していない場合、このコードはIndexOutOfRangeExceptionになります。

int rowIndex = 0; 
    foreach (HtmlNode pricesh in parse.SelectNodes("//div[@class='typeface-js realPrice']")) 
    { 
     string str = pricesh.InnerText;     

     dataGridView1.Rows[rowIndex].Cells[1].Value = str; 

     rowIndex++; 
    }; 
+0

私はこれを行いますが、私は10の値を持っています。私は "for"とrowindex ++を使用すると、すべての行に最後の値を入れます。どうすれば修正できますか? –

+0

質問を編集して、更新されたコードを表示してください。 – Crowcoder

+0

私はポストを編集しました。 –

関連する問題