Member 14588284 Ответов: 1

Как я могу суммировать одинаковые значения datagrid в группе


Всем привет
в элементе управления datagridview, я хочу суммировать значения в группе еще один вид элемента управления DataGrid

Вы можете мне помочь*

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

SUM2.ПНГ — Яндекс.Диск[^]

Maciej Los

Можете ли вы быть более конкретным и предоставить более подробную информацию о вашей проблеме?
Вы должны объяснить, что вы подразумеваете под "группой". Изображение не показывает группы.

Member 14588284

Я добавил новый образ то что хочу
Спасибо

Maciej Los

Пожалуйста, используйте виджет "ответить" (рядом с ником/логином), чтобы быть уверенным, что система сообщит вам о вашем ответе.
В следующий раз, пожалуйста, скопируйте и вставьте текстовые данные в текст вопроса.

Связан ли ваш datagridview с источником данных?

Member 14588284

Хорошо.

1 Ответов

Рейтинг:
5

Maciej Los

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim data = firstDgv.Rows.Cast(Of DataGridViewRow)() _
         .GroupBy(Function(r) New With {Key .A = r.Cells(0).Value, Key .B = r.Cells(1).Value}) _
         .Select(Function(grp) New With
         {
            grp.Key.A,
            grp.Key.B,
            .C = grp.Sum(Function(x) CInt(x.Cells(2).Value))
         }) _
         .ToList()

    For Each dgr In data
        secondDgr.Rows.Add(New Object() {dgr.A, dgr.B, dgr.C})
    Next
End Sub


Member 14588284

Спасибо за ответ

Как я могу использовать эти коды между двумя datagridview

первый D.сетка данных
вторая d.сетка-это группа сумм

Maciej Los

Ваша практическое руководство "Первого" связан с dataSource?

Member 14588284

Нет,
я добавляю Мануэль

Maciej Los

См. обновленный ответ.

Member 14588284

у меня есть ошибка на
r(0).Value, .B = r(1).Value}) _

https://yadi.sk/i/-imC8fRtg3d4GA

Maciej Los

Что такое сообщение об ошибке?

Member 14588284

https://yadi.sk/i/MlPG8m7dJagm7g

r не определен

Maciej Los

Попробуйте добавить .Тельца(). См. обновленный ответ.
Примечание: Я не тестировал свое решение, потому что мне лень создавать новый проект ;)

Member 14588284

https://yadi.sk/i/fAChqfNTtTBvNA

опять ошибка. Если это будет легко , я могу загрузить проект

Member 14588284

https://yadi.sk/d/0_1eEcx26yNzZw

я добавляю простой проект

Maciej Los

См. раздел обновленное решение.

Member 14588284

Большое спасибо.
Это работает. спасибо снова

Maciej Los

Всегда пожалуйста.

Member 14588284

Привет еще раз :)
Теперь я все понял.
цифры после запятой не приходят при взятии общей суммы.

Member 14588284

Пример
только в одном ряду суммирующая строка равна "0,36"
но сумма группы равна "0"
то же значение введите 4 строки затем
группа Сумма "1"

Maciej Los

Заменить этот:
CInt(x.Cells(2).Value)
с:
CDbl(x.Cells(2).Value)

Member 14588284

Я аплодирую

Спасибо

Maciej Los

;)

Member 14588284

Привет еще раз :)
Могу ли я добавить условия where в эти коды

Maciej Los

Конечно. Я хотел бы предложить, чтобы добавить, когда заявление до Метода groupBy ;)

Member 14588284

Я пытался, но у меня ничего не вышло. :(