获取列的值并将其存储到数组中 - DataGridView

Get value of a column and store it into an array - 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 中复制了相同的值。这里有什么问题?

我会尝试以下代码:

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);
        }
    }
}

这样更简单也更安全。