You can use the SPListItemCollection
directly as a datasource for a GridView.
There is no need to create the DataTable.
Just do it like this
SPSite mySite = new SPSite("Sharepoint list URL ");
SPWeb myweb= mySite.OpenWeb();
SPList myList = myweb.Lists["ListName"];
SPListItemCollection items = myList.Items;
GridView2.DataSource = items.GetDataTable();
GridView2.DataBind();
Just bind the columns you want to display and you are done.