Massimiliano Peluso is correct. The GridView will reference a"Table", but more specifically, when using ADO.NET in a Disconnected fashion you will be filling the GridView with DataColumn objects that are part of a DataTable object. You will also want to bind your dataTable to the GridView.
A bit of Detail:
ADO.Net's DataSet construct allows you to represent your database in a "table" like manner and allow those tables to share references. All of this comes at the cost of additional memory overhead, but if this is not going to be a highly scalable applicaiton and you want to give the users the ability to edit rows without having to go to the database every time, DataSet is a good option.
If you are not using the featuers of DataSet (e.g. table relationships) you can save yourself a little overhead by just using DataTable objects and populating them.
To answer your questions:
A GridView expects to recieve a DataTable as a data source. That table can contain several columns (which will fill the columns of the grid). You can write the following code to specifically access your data table:
dataGridView1.DataSource = set.Tables["table1"]; // or by index if you prefer as there are several overloads.
Additionally, I would bind the data by adding the following line of code after the one perscribed above:
dataGridView1.DataBind();
The fact you are missing your DataBind() method call is part of your issue.
There is a very good example at C sharp corner site: Example