Проблема с индексом ячеек DataGridView - PullRequest
0 голосов
/ 11 июля 2010

Хорошо, у меня проблема с приложением 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();

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

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

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

1 Ответ

0 голосов
/ 11 июля 2010

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

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

Таким образом, когда вы пытаетесь получить доступ к

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

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

...