C# Цикл For (при DataGridView)

109
12 февраля 2021, 06:30

Появилась проблема, есть код (ниже написан):

var workbool = new ClosedXML.Excel.XLWorkbook();
    var vari =  workbool.Worksheets.Add("Лист1"); 
for (int i = 0; i < dataGridView2.RowCount - 1; i++)
                {
                    vari.Range("A" + i).Value = dataGridView2.Rows[i].Cells[0].Value;
                    vari.Range("B" + i).Value = dataGridView2.Rows[i].Cells[1].Value;
                    vari.Range("C" + i).Value = dataGridView2.Rows[i].Cells[3].Value;
                    vari.Range("D" + i).Value = dataGridView2.Rows[i].Cells[4].Value;
                    break;
                }

В чём тут косяк? как его остановить? в итоге код работает следующим способом: он всё сканирует и переписывает... Но не останавливается и до конца листа прописывает нули (пример ниже):

Answer 1
for (int i = 0; i < dataGridView2.RowCount; i++)
{
vari.Range("A" + (8+i)).Value = dataGridView2.Rows[i].Cells[0].Value;
if (Convert.ToString(dataGridView2.Rows[i].Cells[0].Value) ==  null)
{
continue;
}
}

Было добавлено условие, при котором, если ячейка будет пустая, то остановить цикл и продолжить работу, при помощи "continue;"

Благодаря использованию оператора continue в сочетании с выражением ( i < dataGridView2.RowCount) операторы между continue и концом текста for пропускаются.

READ ALSO
C# Получение Ip host mac локальной сети

C# Получение Ip host mac локальной сети

Нужно вывести все айдпи,хосты и мак адреса всей локальной сети

93
Добавление данных в DataGridView. Автоинкремент

Добавление данных в DataGridView. Автоинкремент

В базе данных (MS Access) таблица с двумя столбцами: Код и НазваниеКод на автоинкременте

88
Как писать unit тесты на класс работающий с файловой системой?

Как писать unit тесты на класс работающий с файловой системой?

У меня есть класс который работает с директориями и файламиК примеру в нем есть конструкции которые :

85