Problem
You want to use an ASP.NET control to display some data in a tabular
format?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Use a Repeater, DataList, or DataGrid control. Always choose the
smallest and fastest control that meets your needs, which invariably
will be influenced by other criteria. For example:
If you need a quick and easy solution
Use a DataGrid.
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 or a DataGrid.
If you want built-in support to sort your data by column or paginate
its display
Choose a DataGrid.
ASP.NET provides three excellent options for displaying tabular
Performance issues aside, there are some other aspects to consider
dataRepeater, DataList, and DataGridbut each comes with tradeoffs.
For instance, the DataGrid control is particularly versatile, but
you can pay a heavy price in terms of performance. On the flip side,
the Repeater control is lighter weight, but is for read-only display; if you later decide you need to edit your data, you must rework your
code to use the DataList or DataGrid control instead (unless, of
course, you want to embark on your own custom coding odyssey).
The impact on performance is due to the fact that ASP.NET creates an
actual control for every element of a DataGrid control, even
whitespace, which is built as a Literal control. Each of these
controls is then responsible for rendering the appropriate HTML
output. The DataGrid is, therefore, the heavyweight of the grid
control group, because of the server processing required to build the
applicable output. The DataList is lighter and the Repeater lighter
still.
Table 1-1 summarizes the built-in features supported by the tabular
controls and only includes controls that support data binding. (A
standard Table control is not included because it does not inherently
support data binding, even though individual controls placed in a
table can be data bound.) With custom code, there are virtually no
limits to what you can do to modify the behavior of these controls.
Table 1-1. Comparative summary of native tabular
control features
when choosing a tabular control. As a general rule, the DataGrid
works extraordinarily well for a quick-and-dirty tabular display (see
Recipe 1.2) and for other situations in which you think you’ll be
reasonably satisfied with its default appearance and behavior. Indeed,
because the DataGrid is so versatile, this chapter provides many
recipes for modifying and adapting it. However, if you anticipate
needing a lot of flexibility in controlling the organization and layout of
the tabular display or you do not need to edit or paginate the data,
you may want to consider using the DataList or Repeater instead.
For example, Recipe 1.3 shows how you can use templates to
organize and enhance the output of a tabular display. Take a look at
that recipe’s output (Figure 1-2) to see what we’re driving at. Some
up-front planning in this respect can save you considerable time and
effort down the road.