Member 13468713 Ответов: 1

Как сгенерировать итог из столбца в gridview и отобразить его в метке для VB?


Новичок в VB и застрял!!

Я просмотрел много предложений в интернете, но, похоже, они не удовлетворяют конкретному запросу лейбла для получения общей суммы, я вижу много примеров нижнего колонтитула gridview.

То, что я пытаюсь сделать, - это сгенерировать текущий итог, который будет обновляться при появлении новой записи в gridview. Как только я ввожу данные в каждое связанное с текстовым полем поле, в моем gridview генерируются только 3 столбца для ap1, Textbox2 и Textbox6. Как только я добавлю новую запись, она будет генерироваться в новой строке и так далее.

То, что я ищу, - это всякий раз, когда делается новая запись, Label7 (тот, над которым я работаю) будет отображать текущую сумму для значений столбца 3 (textbox6.text) из gridview.


В конце я хочу, чтобы он сказал: "работает всего для всех приборов..."

Спасибо!

Что я уже пробовал:

Private Sub Label7_TextChanged (sender As Object, e As EventArgs) обрабатывает Label7.Очередь textchanged

Дим с двойными
Dim total As String = 0

Для i As Integer = 0 To DataGridView1. RowCount - 1
ы = DataGridView1.Ряды(я).Ячейки (3). Значение
сумма = сумма + значение(с)
Следующий
Label7.Text = "текущий итог для всех приборов равен:" + итого
Конец Подводной Лодки

Member 13468713

ОТРЕДАКТИРОВАННЫЙ::

Я прошел через и переформатировал большую часть своего кодирования единственная проблема у меня сейчас есть

Дополнительная информация: индекс был вне диапазона. Должен быть неотрицательным и меньше размера коллекции.

Функция UpdateRunningTotal()
Дим с двойными
Dim runningTotal As String = 0

For i As Integer = 0 To DataGridView1.RowCount
ы = DataGridView1.Ряды(я).Ячейки (2). Значение
runningTotal = runningTotal + Val(s)
Следующий
Return runningTotal
Конечная Функция

Он не будет генерировать никаких значений в моем gridview, а также в моем label7..

Помогите!

1 Ответов

Рейтинг:
2

Maciej Los

ОТРЕДАКТИРОВАННЫЙ::

Я прошел через и переформатировал большую часть своего кодирования единственная проблема у меня сейчас есть

Дополнительная информация: индекс был вне диапазона. Должен быть неотрицательным и меньше размера коллекции.

Function UpdateRunningTotal()
Dim s As Double
Dim runningTotal As String = 0

For i As Integer = 0 To DataGridView1.RowCount
s = DataGridView1.Rows(i).Cells(2).Value
runningTotal = runningTotal + Val(s)
Next
Return runningTotal
End Function


Он не будет генерировать никаких значений в моем gridview, а также в моем label7..


В случае Index was out of range. Must be non-negative and less than the size of the collection. ошибка вы должны изменить свой код на:
For i As Integer = 0 To DataGridView1.RowCount -1
...
Next

Если коллекция строк datagridview начинается с нуля, то она должна заканчиваться на RowCount-1.


Karthik_Mahalingam

5

Maciej Los

Спасибо, Картик