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 .
I believe 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
|
| supported
| supported
| supported
| supported
| supported
| supported
|
| supported
| Not supported
| Not Supported
| supported
| Not Supported
| supported
|
| Not supported
| supported
| supported
| Not supported
| Not supported
| Not supported
|
| 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 .
Summary :
The ListView control was added to provide a rich data control that can support all the required functionalities at the same time , so now you can easily display a fully customizable layout that supports Grouping,paging , inserting , deleting , updating and sorting the data.