2011-08-17 66 views
0

我有一個數據表,我想從中提取某些信息(僅限特定行和特定列)。我試圖使用下面的代碼,但是當我運行它時,我得到了一個超出範圍錯誤的索引,而且我不確定我正在做什麼是從數據表中獲取某些數據的最佳方法到一個datagridview。有任何想法嗎?如何從datatable中獲取某些列到datagridview?

 currentRow = 0; 
     int dataGridRow = 0; 
     foreach (DataRow row in resultsDT.Rows) 
     { 
      string value = resultsDT.Rows[currentRow]["HighLow"].ToString(); 
      if (value.Equals("High") | value.Equals("Low")) 
      { 
       dataGridView2.Rows[dataGridRow].Cells["colHighLow"].Value = resultsDT.Rows[currentRow]["HighLow"]; 
       dataGridView2.Rows[dataGridRow].Cells["colDifference"].Value = resultsDT.Rows[currentRow]["Difference"]; 
       dataGridView2.Rows[dataGridRow].Cells["colMbrSep"].Value = resultsDT.Rows[currentRow]["MBRSEP"]; 
       dataGridView2.Rows[dataGridRow].Cells["colLocation"].Value = resultsDT.Rows[currentRow]["LOCATION"]; 
       dataGridView2.Rows[dataGridRow].Cells["colDistrict"].Value = resultsDT.Rows[currentRow]["DIST"]; 
       dataGridView2.Rows[dataGridRow].Cells["colAddress"].Value = resultsDT.Rows[currentRow]["ADDR1"]; 
       dataGridView2.Rows[dataGridRow].Cells["colMeter"].Value = resultsDT.Rows[currentRow]["METER"]; 
       dataGridView2.Rows[dataGridRow].Cells["colKWh"].Value = resultsDT.Rows[currentRow]["KWH"]; 
       dataGridRow++; 
      } 
      currentRow++; 
     } 
+0

哪裏發生異常? –

+0

dataGridView2包含多少行? –

+0

至少是否成功地在網格中添加了一個值,或者在開始時失敗? –

回答

2

我只能猜測你需要的是

currentRow = 0; 
     int dataGridRow = 0; 
     foreach (DataRow row in resultsDT.Rows) 
     { 
      string value = resultsDT.Rows[currentRow]["HighLow"].ToString(); 
      if (value.Equals("High") | value.Equals("Low")) 
      { 
       //THIS LINE 
       dataGridView2.Rows.Add(); 

       dataGridView2.Rows[dataGridRow].Cells["colHighLow"].Value = resultsDT.Rows[currentRow]["HighLow"]; 
       dataGridView2.Rows[dataGridRow].Cells["colDifference"].Value = resultsDT.Rows[currentRow]["Difference"]; 
       dataGridView2.Rows[dataGridRow].Cells["colMbrSep"].Value = resultsDT.Rows[currentRow]["MBRSEP"]; 
       dataGridView2.Rows[dataGridRow].Cells["colLocation"].Value = resultsDT.Rows[currentRow]["LOCATION"]; 
       dataGridView2.Rows[dataGridRow].Cells["colDistrict"].Value = resultsDT.Rows[currentRow]["DIST"]; 
       dataGridView2.Rows[dataGridRow].Cells["colAddress"].Value = resultsDT.Rows[currentRow]["ADDR1"]; 
       dataGridView2.Rows[dataGridRow].Cells["colMeter"].Value = resultsDT.Rows[currentRow]["METER"]; 
       dataGridView2.Rows[dataGridRow].Cells["colKWh"].Value = resultsDT.Rows[currentRow]["KWH"]; 
       dataGridRow++; 
      } 
      currentRow++; 
     } 
+0

就是這樣,哈里斯!非常感謝! – Kevin

相關問題