c#
  • datagridview
  • 2017-09-24 70 views 0 likes 
    0

    我解析一個網站,我需要把一些數據放在datagridview列和行中。我在第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覆蓋其他列,將其設置爲空。

    在循環外定義一個索引,在循環內部增加它。 不要遍歷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

    我編輯後.. –

    相關問題