try this:

Code:
Public Class Form1

    Dim StudentNames() As String = {"Dave", "Brian", "Richard", "Phil", "Vlad"}
    Dim ClassTestScore() As String = {"0", "0", "0", "0", "0"}
    Dim ConicalBasketMark() As String = {"0", "0", "0", "0", "0"}
    Dim FinalGrade() As String = {"3", "4", "2", "1", "5"}

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        fillDGV()
    End Sub

    Private Sub fillDGV()
        DataGridView1.Rows.Clear()
        Array.ForEach(Enumerable.Range(0, StudentNames.Length).ToArray, Sub(x) DataGridView1.Rows.Add(StudentNames(x), ClassTestScore(x), ConicalBasketMark(x), FinalGrade(x)))
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'bubble sort
        For outer As Integer = StudentNames.GetUpperBound(0) To 0 Step -1
            For inner As Integer = 0 To outer - 1
                If StudentNames(inner).CompareTo(StudentNames(inner + 1)) > 0 Then
                    Dim temp() As String = {StudentNames(inner), ClassTestScore(inner), ConicalBasketMark(inner), FinalGrade(inner)}
                    StudentNames(inner) = StudentNames(inner + 1)
                    ClassTestScore(inner) = ClassTestScore(inner + 1)
                    ConicalBasketMark(inner) = ConicalBasketMark(inner + 1)
                    FinalGrade(inner) = FinalGrade(inner + 1)
                    StudentNames(inner + 1) = temp(0)
                    ClassTestScore(inner + 1) = temp(1)
                    ConicalBasketMark(inner + 1) = temp(2)
                    FinalGrade(inner + 1) = temp(3)
                End If
            Next
        Next
        fillDGV()
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'bubble sort
        For outer As Integer = StudentNames.GetUpperBound(0) To 0 Step -1
            For inner As Integer = 0 To outer - 1
                If CInt(FinalGrade(inner)).CompareTo(CInt(FinalGrade(inner + 1))) < 0 Then
                    Dim temp() As String = {StudentNames(inner), ClassTestScore(inner), ConicalBasketMark(inner), FinalGrade(inner)}
                    StudentNames(inner) = StudentNames(inner + 1)
                    ClassTestScore(inner) = ClassTestScore(inner + 1)
                    ConicalBasketMark(inner) = ConicalBasketMark(inner + 1)
                    FinalGrade(inner) = FinalGrade(inner + 1)
                    StudentNames(inner + 1) = temp(0)
                    ClassTestScore(inner + 1) = temp(1)
                    ConicalBasketMark(inner + 1) = temp(2)
                    FinalGrade(inner + 1) = temp(3)
                End If
            Next
        Next
        fillDGV()
    End Sub

End Class