Проблема с индексом ячеек 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:)