2015-05-24 3 views
0

Я создал foreach loop в C#. Я пытаюсь выполнить петлю через все строки, кроме последней, которая автоматически добавляется. Поскольку ячейки не содержат значений, я получаю исключение NullException.Удалить последнюю строку из числа строк DataGridView

Важно: Настройка AllowUsersToAddRows на false - это не опция, поскольку эта функция требуется.

foreach (DataGridViewRow row in VRFileDataGrid.Rows) 
    { 
     Console.WriteLine(row.Cells[0].Value.ToString()); 
    } 

Я не пытаюсь исправить встретил NullReferenceException, я хочу знать, как выполнить корыта Петля все строки в последний автоматически добавляется ряд, за исключением.

ответ

-2

Я установил его, установив VRFileDataGrid.AllowUserToAddRows = false; перед циклом и установив VRFileDataGrid.AllowUserToAddRows = true; после цикла.

Возможно, это не лучшее решение, но я отлично работаю.

2

рассмотреть возможность использования for петли вместо foreach

VRFileDataGrid.Rows.Count - 1 означает все строки, кроме последней

for(int r = 0; r < VRFileDataGrid.Rows.Count - 1; r++) 
{ 
    DataGridViewRow row = VRFileDataGrid.Rows[r]; 
    Console.WriteLine(row.Cells[0].Value.ToString()); 
} 
+0

Вы также можете сделать что-то с перечислимы, как http://stackoverflow.com/a/1779328/1264905. Это все равно позволит вам использовать foreach. – molnargab

+1

@molnargab, я думаю, что такое решение является излишним здесь; количество строк известно, проблема состоит в том, чтобы исключить последнюю строку. но да, это также должно решить проблему – ASh

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