This articles was originally at
wiki.asp.net but has now been given a new home on CodeProject. Editing
rights for this article has been set at Bronze or above, so please go in
and edit and update this article to keep it fresh and relevant.
The ListView control is a new data presentation control that was
added to .Net 3.5 , you may wonder why its added to the framework , and
what it provide .
The
ListView control was added to provide The following functionalities :
- A very flexible and customizable layout.
- A built in data paging support with the DataPager control.
- support data grouping ( repeating items) .
- Built in support for deleting,inserting,paging,sorting,and updating the data.
Now , to compare the ListView control with the dataList,GridView and repeater control , lets look at the table below :
|
Supported Funcationalities |
Control |
Paging |
Data Grouping |
Provide Flexible Layout |
Update,Delete |
Insert |
Sorting |
ListView |
supported |
supported |
supported |
supported |
supported |
supported |
GridView |
supported |
Not supported |
Not Supported |
supported |
Not Supported |
supported |
DataList |
Not supported |
supported |
supported |
supported |
Not supported |
Not supported |
Repeater |
Not supported |
Not supported |
supported |
Not supported |
Not supported |
Not supported |
The GridView :
it supports paging but it doesn't provide a flexible layout , since its
mainly used to display the data in a table based layout.And If we
looked at data inserting , the Gridview doesn't have a built in support
for inserting data( since it doesn't call the insert method of it
underlying data source when you click on a button with a CommadName set
to "Insert" ).
The DataList : it support data
grouping ( through its RepeatColumns property) , but it doesn't have a
built in support for paging,inserting ,deleting , updating the data. and
if you looked at its laout , you will find that by default the
datalist renders as html table and you will have to set its flowLayout
to "Flow" to stop that behaviour.
The Repeater control : you
will find that it provides a flexible layout but it doesn't support data
grouping ,inserting,deleting , updating and paging through the data .