Проблема с индексом ячеек DataGridView

Хорошо, у меня проблема с моим приложением Windows. Мой DataGridView состоит из следующих столбцов: ProductName, Qty, Price, Subtotal. Поэтому я предполагаю, что индексы ячеек для них соответственно следующие: 0, 1, 2, 3. Однако всякий раз, когда я пытаюсь выполнить приведенный ниже код:

txtSubtotalProducts.Text = "Php " + (Convert.ToDouble(dgvProducts.Rows[0].Cells[3].Value) + Convert.ToDouble(dgvExpenses.Rows[1].Cells[3].Value) + Convert.ToDouble(dgvExpenses.Rows[2].Cells[3].Value)).ToString();

Однако всякий раз, когда я запускаю этот блок кода, я сталкиваюсь с этим сообщением об ошибке: Index Out of Range.

Я что-то здесь упускаю? Заранее большое спасибо.

РЕДАКТИРОВАНИЕ: Извините, индекс 4 был на самом деле то, что я пытался, но первоначально я пытаюсь и 2 и 3 как индексы без какой-либо удачи. Однако, когда я пытаюсь 1 (который является столбцом Qty), он работает отлично.

1 ответ

Решение

Стефан прав! Если у вас есть ProductName, Qty, Price, Subtotal, то есть 4 столбца.

Так как массивы основаны на 0, возможные столбцы, к которым вы можете получить доступ, - это 0,1,2 и 3.

Поэтому, когда вы пытаетесь получить доступ

dgvExpenses.Rows[1].Cells[4].Value

Поскольку нет 5-го столбца (4-й индекс), он выдаст исключение Index Out of Range:)

Другие вопросы по тегам