In Chapter 10, you saw that there are three list-bound controls: Repeater, DataList, and DataGrid. Chapter 10 explained the similarities among these controls and focused on the DataGrid control, which it bound to an ArrayList of Bug objects. In Chapter 11 and Chapter 12, you saw how to extract data from a database and bind a DataView or a DataTable object to a DataGrid control.
Now that you’ve seen how to extract data from the database and bind it to a control, we will now return to the list-bound controls, since they are most often used for displaying data from the database. In this chapter you will see how templates are used to manage the presentation of the Repeater and the DataList controls. You’ll also see how to update data using in-place editing with the DataList and the DataGrid controls.
Chapter 10 showed the differences among the entirely “lookless” Repeater control and the somewhat more robust DataList control, as well as the DataGrid control that we have already examined in some detail. The table is reproduced here for your convenience as Table 13-1.
Table 13-1. Comparison of the Repeater, DataList, and DataGrid controls
Feature |
Repeater |
DataList |
DataGrid |
---|---|---|---|
Table layout |
No |
No |
Yes |
Flow layout |
Yes |
Yes |
No |
Column layout |
No |
Yes |
No |
Style properties |
No |
Yes |
Yes |
Templates |
Yes |
Yes |
Columns/ optional |
Select/ Edit/Delete |
No |
Yes |
Yes |
Sort |
No |
No |
Yes |
Paging |
No |
No |
Yes |
You can see that the repeater and the data list do not automatically provide a table layout. In fact, you can use either control to display data horizontally or vertically, and the DataList control can provide automatic support for columns.
The key difference between the DataList and Repeater controls, on the
one hand, and the DataGrid control, on the other, is that the first
two use templates
to determine their look and
feel.
3.133.124.21