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 .
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.