2015-02-23 51 views
0

我有以下代码:得到一个列的值,并将其存储到一个数组 - DataGridView的

int countRows = dataGridView3.SelectedRows.Count; 
       int rowIndex = 0; 

       foreach (DataGridViewRow row in dataGridView3.SelectedRows) 
       { 

        int selectedRowIndex = dataGridView3.SelectedCells[rowIndex].RowIndex; 

        DataGridViewRow selectedRow = dataGridView3.Rows[selectedRowIndex]; 

        capacity = Convert.ToInt32(selectedRow.Cells["Cust_Number"].Value); 
        capStore.Add(capacity); 

        rowIndex++; 

       } 

我尝试去通过每个所选行中我的DataGridView和值从列存储“Cust_Number”放入一个ArrayList中,以便稍后可以更改它。不知何故,他每次迭代时都抓住第二行,并在我的ArrayList中重复同样的值。这里有什么问题?

回答

1

我会尝试下面的代码:

if(dataGridView3.SelectedRows != null && dataGridView3.SelectedRows.Count > 0) 
{ 
    foreach (DataGridViewRow dgvr in dataGridView3.SelectedRows) 
    { 
     int tempVal = 0; 
     if(dgvr.Cells["Cust_Number"].Value != null && int.TryParse(dgvr.Cells["Cust_Number"].Value.ToString(), out tempVal)) 
     { 
      capStore.Add(tempVal); 
     } 
    } 
} 

这是更简单,更安全。

+0

感谢您的帮助!这工作正常! – MKX2015 2015-02-23 08:19:20

+0

我很高兴帮助@ MKX2015。 – user3021830 2015-02-23 08:19:41

相关问题