It really sounds like all you need is something like this:
Private Sub ButtonClick(sender As System.Object, e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = CountryDataSet
DataGridView1.DataMember = DirectCast(sender, Button).Text
This assumes the dataset is completely loaded before any buttons are clicked, and that you only want to see one table at a time. If you want to see multiple tables at once, you'll have to merge their data into one or manually load the grid with the data.