kafinetetaha
دوشنبه 13 دی 1389, 14:15 عصر
سلام دوستان من این حلقه for رو نوشتم ولیاین حلقه درست کار نمیکنه این حلقه برای این نوشته شده که میخوام چند تا گرید رو بریزم تو یک گرید بصورتی که اگه یک جنس همنام و هم ماخذ بود رو فقط مقادیر گرم و کیلوشو رو با هم جمع کنه واگه همنام نبود در ردیف جدید اضافه کنه این کدی که من نوشتم مشکل اینه که به جنس هم نام که میرسه حلقه به پایان میرسه و اگه exit sub رو بردارم چندبار جنس ها رو تکرار میکنه اینم کدی که نوشتم
For i As Integer = 0 To dgv1.Rows.Count - 1
Dim jens As String = dgv1.Item("col1", i).Value
Dim ma1 As String = dgv1.Item("col_ma1", i).Value
If dgv4.Rows.Count = 0 Then
dgv4.Rows.Add()
dgv4.Item("col_name4", dgv4.Rows.Count - 1).Value = dgv1.Item("col1", i).Value
dgv4.Item("col_gramkol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_gram1", i).Value
dgv4.Item("col_kilokol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_kilo1", i).Value
dgv4.Item("col_makol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_ma1", i).Value
Else
For j As Integer = 0 To dgv4.Rows.Count - 1
Dim jkol As String = dgv4.Item("col_name4", j).Value
Dim makol As String = dgv4.Item("col_makol", j).Value
If jkol = jens And ma1 = makol Then
Dim skol As String
skol = Val(dgv1.Item("col_gram1", i).Value) + Val(dgv4.Item("col_gramkol", j).Value)
If skol >= 1000 Then
Dim gkol As String
gkol = skol Mod 1000
dgv4.Item("col_gramkol", j).Value = gkol
Dim kkol As String
kkol = skol \ 1000
dgv4.Item("col_kilokol", j).Value = Val(kkol) + Val(dgv4.Item("col_kilokol", j).Value)
Else
dgv4.Item("col_gramkol", j).Value = Val(dgv1.Item("col_gram1", i).Value) + Val(dgv4.Item("col_gramkol", j).Value)
dgv4.Item("col_kilokol", j).Value = Val(dgv1.Item("col_kilo1", i).Value) + Val(dgv4.Item("col_kilokol", j).Value)
End If
Exit Sub
End If
Next j
End If
dgv4.Rows.Add()
dgv4.Item("col_name4", dgv4.Rows.Count - 1).Value = dgv1.Item("col1", i).Value
dgv4.Item("col_gramkol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_gram1", i).Value
dgv4.Item("col_kilokol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_kilo1", i).Value
dgv4.Item("col_makol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_ma1", i).Value
Next i
For i As Integer = 0 To dgv1.Rows.Count - 1
Dim jens As String = dgv1.Item("col1", i).Value
Dim ma1 As String = dgv1.Item("col_ma1", i).Value
If dgv4.Rows.Count = 0 Then
dgv4.Rows.Add()
dgv4.Item("col_name4", dgv4.Rows.Count - 1).Value = dgv1.Item("col1", i).Value
dgv4.Item("col_gramkol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_gram1", i).Value
dgv4.Item("col_kilokol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_kilo1", i).Value
dgv4.Item("col_makol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_ma1", i).Value
Else
For j As Integer = 0 To dgv4.Rows.Count - 1
Dim jkol As String = dgv4.Item("col_name4", j).Value
Dim makol As String = dgv4.Item("col_makol", j).Value
If jkol = jens And ma1 = makol Then
Dim skol As String
skol = Val(dgv1.Item("col_gram1", i).Value) + Val(dgv4.Item("col_gramkol", j).Value)
If skol >= 1000 Then
Dim gkol As String
gkol = skol Mod 1000
dgv4.Item("col_gramkol", j).Value = gkol
Dim kkol As String
kkol = skol \ 1000
dgv4.Item("col_kilokol", j).Value = Val(kkol) + Val(dgv4.Item("col_kilokol", j).Value)
Else
dgv4.Item("col_gramkol", j).Value = Val(dgv1.Item("col_gram1", i).Value) + Val(dgv4.Item("col_gramkol", j).Value)
dgv4.Item("col_kilokol", j).Value = Val(dgv1.Item("col_kilo1", i).Value) + Val(dgv4.Item("col_kilokol", j).Value)
End If
Exit Sub
End If
Next j
End If
dgv4.Rows.Add()
dgv4.Item("col_name4", dgv4.Rows.Count - 1).Value = dgv1.Item("col1", i).Value
dgv4.Item("col_gramkol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_gram1", i).Value
dgv4.Item("col_kilokol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_kilo1", i).Value
dgv4.Item("col_makol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_ma1", i).Value
Next i