Суммируйте повторяющиеся значения в нескольких представлениях datagridviews в VB.NET
Всем привет,
У меня есть несколько элементов datagridview на форму в элемент управления TabControl, каждая содержит следующие столбцы: "Реф", "Здравствуйте ЗУ ХК (аппаратный)", "Здравствуйте Менге" и "Bestandsart".
проблема в том, что "ref" содержит повторяющиеся значения, то, что я хочу сделать, это удалить все дублированные значения и суммировать соответствующие "Bestand zu KHK (HW)", "Bestand Menge" в одно целое.
Что я уже пробовал:
Dim i = t1 - 1 Do Until i = t2 Dim j = 0 Do Until j = datagridviews(i).RowCount If Not datagridviews(i).Rows(j).Cells("ref").Value.Equals(0) Then Dim s1 Dim s2 s1 = datagridviews(i).Rows(j).Cells("Bestand zu KHK (HW)").Value s2 = datagridviews(i).Rows(j).Cells("Bestand Menge").Value For t = j + 1 To datagridviews(i).RowCount - 1 If datagridviews(i).Rows(j).Cells("ref").Value.Equals(datagridviews(i).Rows(t).Cells("ref").Value) And datagridviews(i).Rows(j).Cells("Bestandsart").Value.Equals(datagridviews(i).Rows(t).Cells("Bestandsart").Value) Then s1 = s1 + datagridviews(i).Rows(t).Cells("Bestand zu KHK (HW)").Value s2 = s2 + datagridviews(i).Rows(t).Cells("Bestand Menge").Value datagridviews(i).Rows(t).Cells("ref").Value = 0 datagridviews(i).Rows(t).Cells("Bestandsart").Value = 0 datagridviews(i).Rows(t).Cells("Bestand Menge").Value = 0 datagridviews(i).Rows(t).Cells("Bestand zu KHK (HW)").Value = 0 End If Next datagridviews(i).Rows(j).Cells("Bestand zu KHK (HW)").Value = s1 datagridviews(i).Rows(j).Cells("Bestand Menge").Value = s2 j = j + 1 ElseIf datagridviews(i).Rows(j).Cells("ref").Value.Equals(0) Then j = j + 1 End If Loop BackgroundWorker1.ReportProgress((i - (t1 - 1) + 1) / (t2 - t1 + 1) * 100) i = i + 1 Loop
как только я нажимаю кнопку для выполнения кода, я не получаю ошибки, но она возвращает частичные суммы, что означает, что я все еще вижу некоторые повторяющиеся значения, и мне нужно нажать еще раз, чтобы выполнить эту работу.
в настоящее время существует 21 datagridviews, и каждый из них содержит около 1100 строк.
может кто-нибудь, пожалуйста, помочь или указать в правильном направлении.
заранее спасибо.