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