Problem
You want to use an ASP.NET control to display some data in a tabular format.
Solution
Use a Repeater, DataList, DataGrid, or GridView control. Always choose the smallest and fastest control that meets your needs, which invariably will be influenced by other criteria as in these examples:
If you need a quick and easy solution
Use a GridView.
If you need a lightweight read-only tabular display
Use a Repeater.
If you need your solution to be small and fast
Use a Repeater (lightest) or DataList (lighter).
If you want to use a template to customize the appearance of the display
Choose a Repeater or DataList.
If you want to select rows or edit the contents of a data table
Choose a DataList, a DataGrid, or a GridView.
If you want built-in support to sort your data by column or paginate its display
Choose a GridView.
If you want to use custom pagination
Choose a DataGrid.
Feature |
Repeater control |
DataList control |
DataGrid control |
GridView control |
---|---|---|---|---|
Default appearance |
None (template-driven) |
Table |
Table |
Table |
Automatically generates columns from the data source |
No |
No |
Yes |
Yes |
Header can be customized |
Yes |
Yes |
Yes |
Yes |
Data row can be customized |
Yes |
Yes |
Yes |
Yes |
Supports alternating row customization |
Yes |
Yes |
Yes |
Yes |
Supports customizable row separator |
Yes |
Yes |
No |
Yes |
Footer can be customized |
Yes |
Yes |
Yes |
Yes |
Supports pagination |
No |
No |
Yes |
Yes |
Supports custom paging |
No |
No |
Yes |
No |
Supports sorting |
No |
No |
Yes |
Yes |
Supports editing contents |
No |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
Yes |
|
No |
No |
No |
No |
|
Supports arranging data items horizontally or vertically (from left-to-right or top-to-bottom) |
No |
Yes |
No |
No |
Supports sorting and paging using asynchronous callbacks |
No |
No |
No |
Yes |
Leave a Reply