I have a function which is supposed to return an array of class type.
So from database I picked data and filled datatable. Now from datatable I am picking columns value
This is only an indirect answer, but: ultimately, the thing you are trying to do is a solved problem, with lots of tools existing to do all the work for you. Since this is a simple scenario, "Dapper" would make this trivial. I'll give a C# example here, as my VB level is read-only:
List BindGridInfoFunctionalLocation()
{
// note: column aliases to match properties on AssetsDto
var results = connection.Query(@"
select FunctionalLocation as 'ASSETTAG',
EquipmentDescription as 'ASSETDESC',
Area as 'PARENTTAG',
EqptType as 'ASSETTYPE'
from EngineeringData").AsList();
gv_InfoFunctionalLocation.DataSource = results;
gv_InfoFunctionalLocation.DataBind()
return results;
}