I'm afraid that I don't see the issue. How does having check boxes mean that would have to go up and down the list any less that combo boxes? You still have the same number of rows, one for each student, so you won't be going up and down the list any less.

Also, if you want to be able to set the language for multiple records at a time then why not add a function to do just that? Select all the rows you want to change and then display a dialogue with a ComboBox containing all the languages. When you click OK then loop through the SelectedRows and update each one from the dialogue, e.g.
Code:
Using dialogue As New LanguageSelectionDialogue
    If dialogue.ShowDialog() = Windows.Forms.DialogResult.OK Then
        Dim languageID = dialogue.LanguageID

        For Each gridRow As DataGridViewRow In studentGrid.SelectedRows
            Dim studentRow = DirectCast(gridRow.DataBoundItem, DataRowView)

            studentRow("LanguageID") = languageID
        Next
    End If
End Using