2015-02-23 4 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

+0

Я рад помочь @ MKX2015. – user3021830

Смежные вопросы