获取列的值并将其存储到数组中 - 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);
}
}
}
这样更简单也更安全。
我有以下代码:
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);
}
}
}
这样更简单也更安全。