you are binding an ArrayList to the GridView, your ArrayList contains object with no properties, looks like simple string. When binding ArrayList to GridView, the objects stored inside the list should have properties to be used as fields on GridView for binding.
So just try to set your data table as data source to your GridView without using ArrayList.
checkout this post
http://forums.asp.net/t/948712.aspx