Selecting the Right Tabular Control

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.

Comparative summary of native tabular control features

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

Supports selecting a single row

No

Yes

Yes

Yes

Supports selecting multiple rows

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

Advertisements

#tabular-controls