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

时间:2015-02-23 07:58:07

标签: c# winforms 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中的每个选定行并存储列#34; Cust_Number"中的值。到ArrayList,以便我以后可以更改它。不知怎的,他每次迭代时都抓住第二行,并且我的ArrayList中有相同的值重复。这有什么不对?

1 个答案:

答案 0 :(得分: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);
        }
    }
}

这更简单,更安全。