Fabio,
In addition to CJ's comments.
The DataGrid only binds to the DataView (to display values), so I would
think it will be the fastest.
Remember you do not bind to a DataSet you bind to a member of the DataSet,
this member is a DataTable.
Also remember if you set the DataSource property of a DataGrid to just a
DataSet, without setting the DataMember property, you are presented a list
of DataTables (in a tree like control) to select which DataTable to display
the values of.
Further when you bind to a DataTable the DataGrid uses the
DataTable.DefaultView property to get a DataView which the DataGrid actually
uses to retrieve & maintain data.
Hence, you only bind to a DataView, so its the fastest.
This and a number of other exciting ADO.NET topics is covered at length in
David Sceppa's book "Microsoft ADO.NET - Core Reference" from MS Press.
Hope this helps
Jay