07-10-21, 03:30 PM
تفضل اخي
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
dgv.Rows.Clear()
dgv.Columns.Clear()
If t1.Text = Nothing Or t2.Text = Nothing Then
MsgBox("قم بادخال عدد الطلاب وعدد الفصول")
Exit Sub
End If
If Val(t1.Text) < Val(t2.Text) Then
MsgBox("يجب ان يكون عدد الطلاب اكبر من عدد الفصول")
Exit Sub
End If
Dim baki As Integer = Val(t1.Text) Mod (Val(t2.Text))
For i As Integer = 1 To Val(t2.Text)
dgv.Columns.Add("col" & i, "الفصل" & i)
Next
Dim n As Integer = 1
Dim a As Integer = Val(t1.Text) \ Val(t2.Text)
dgv.Rows.Add(a)
If a = Val(t1.Text) / Val(t2.Text) Then
For i As Integer = 0 To dgv.Columns.Count - 1
For ii As Integer = 0 To a - 1
dgv.Rows(ii).Cells(i).Value = n
n = n + 1
Next
Next
Else
For i As Integer = 0 To dgv.Columns.Count - 1
If baki > 0 Then
For ii As Integer = 0 To a
dgv.Rows(ii).Cells(i).Value = n
n = n + 1
Next
baki -= 1
End If
Next
End If
'ايجاد اكبر رقم في الجدول
Dim bignum As Integer = 0
For i As Integer = 0 To dgv.Columns.Count - 1
For ii As Integer = 0 To dgv.Rows.Count - 1
If dgv.Rows(ii).Cells(i).Value > bignum Then
bignum = Val(dgv.Rows(ii).Cells(i).Value)
End If
Next
Next
'تحديد العمود الذي حتوي اكبر رقم
Dim col As Integer
For i As Integer = 0 To dgv.Columns.Count - 1
For ii As Integer = 0 To dgv.Rows.Count - 1
If dgv.Rows(ii).Cells(i).Value = bignum Then
col = dgv.Columns(i).Index
End If
Next
Next
For i As Integer = col + 1 To dgv.Columns.Count - 1
For ii As Integer = 0 To a - 1
If bignum < Val(t1.Text) Then
dgv.Rows(ii).Cells(i).Value = bignum + 1
bignum += 1
End If
Next
Next
For i As Integer = 0 To dgv.Columns.Count - 1
For ii As Integer = 0 To dgv.Rows.Count - 1
If dgv.Rows(ii).Cells(i).Value <> Nothing Then
dgv.Rows(ii).Cells(i).Value = "الطالب" & " " & dgv.Rows(ii).Cells(i).Value
End If
Next
Next
End Sub