Comparing ListView with GridView,DataList and Repeater
The ListView control is a new data presentation control that was added in ASP.Net 3.5.You may wonder why its added to the framework , and what it provide .
From what i have seen, ListView control was added to provide The following functionalities :
- A very flexible and customizable layout.
- A built in data paging support with the new DataPager control.
- Support data grouping (repeating items) in a flexible way.
- 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 | Not supported | Not supported | Not supported |
| Repeater | Not supported | Not supported | supported | Not supported | Not supported | Not supported |
* Supported: means that it's provided out of the box without any custom code or hacks.
* Not Supported: means that it's not provided out of the box by the control but it could be possible to implement it using custom code \ hacks.
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.
Anas Ghanem