In iGrid, we have the FillWithData method used to populate it from a data source of one of the following types: DataTable, DataView, IDbCommand, or IDataReader. If you can convert your data into one of these objects, then you can use FillWithData.
***
However, from time to time I hear about the need to support generic collections in FillWithData, and your case is one of them. We can discuss how such an algorithm should work, and if it is an enough universal solution, I could incorporate it into the future releases of iGrid.