How to Convert List to Datatable in VB.NET

  1. Public Function ConvertToDataTable(Of T)(ByVal list As IList(Of T)) As DataTable  
  2. Dim table As New DataTable()  
  3. Dim fields() As FieldInfo = GetType(T).GetFields()  
  4. For Each field As FieldInfo In fields  
  5. table.Columns.Add(field.Name, field.FieldType)  
  6. Next  
  7. For Each item As T In list  
  8. Dim row As DataRow = table.NewRow()  
  9. For Each field As FieldInfo In fields  
  10. row(field.Name) = field.GetValue(item)  
  11. Next  
  12. table.Rows.Add(row)  
  13. Next  
  14. Return table  
  15. End Function