In addition to Cor and Sahil - the 'difference' depends on who's point of
view you're looking from. The DataView is built on a DataTable like they
both mention. As such, from a User's point of view, there's NO difference.
There'd be absolutely no way, short of using Reflector or asking the
developer, for someone to tell that you bound something to a DataView vs a
DataTable or that any given data is in a DataView vs. DataTable.
I use views a lot more than tables when i'm displaying data b/c it often
needs sorted. And using the RowFilter to filter data is pretty simple to
employ (although you certainly can slice data with a DataTable.Select for
instance). For Aggregated values, the DataTable has the Compute Method
which lets you grab Sum, Count etc so often I bind to a view for display
purposes, but use Compute to provide summary statistics. When I'm using
NonVisual components, I almost never use a DataVIew b/c sorting isn't
typically necessary (although it certianly could be). So the datatable
gives you compute
http://www.knowdotnet.com/articles/expressions.html
(which you can defeinitely mimick using a dataview but it's cleaner using a
DataTable) and DataViews give you sort.
All in all it's mainly a matter of personal preference. My rule of thumb is
that if I'm displyaing the data for the user, I'll bind to a View by
default - otherwise I just use a DataTable unless for some reason I need a
view.
HTH,
Bill