Hi Michael,
I don't understand your question. The code you show here only has one list. Where does the "double list" part come in?
If you bind the grid to a generic list, then the type of object in the list determines the columns in the grid. Each public property on the object will be a column and each item in the list is a row.