Blog

Understanding DataBound Controls In ASP.Net 3.5

Displaying data on a web page which is bound to information in a database is a very common requirement in web applications. In ASP.NET version 1, the main control for achieving this was the DataGrid. In the current release of ASP.NET, version 3.5, the DataGrid is conspicuously absent from the Toolbox in Visual Web Developer. In fact, although the DataGrid can still be used in ASP.NET pages and will work fine, it is now deprecated. The good news is that there is a good choice of more powerful new controls which have taken its place. Four of these controls (GridView, DataList, Repeater and List View) are suitable for displaying multiple records from a data source and then there are another two (FormView and DetailsView) which are used to display only one record at a time.

The GridView control is probably the most widely-used of ASP.NET’s DataBound controls. It displays data items in an automatically-generated table and has a rich set of easily-configurable options. The GridView has the ability to customize columns and to include custom content in columns such as images or any other relevant HTML column. Command columns can also be added containing links which will enable the user to edit and delete records. The control also supports paging and sorting.

Although the DataList control also automatically generates a table for its output, unlike the GridView control, it also permits the display of more than one record per row using its RepeatColumns property. The DataList is also template-driven, requiring the use of an ItemTemplate containing dynamic data. The elements placed inside the ItemTemplate are rendered once for each item in the bound data.

The Repeater Control also relies on ItemTemplate elements for formatting its output. However, since it does not automatically create an HTML table, the Repeater offers considerable flexibility of layout. Output can be rendered as paragraphs, as a series of DIV elements, an ordered list, an unordered list or a customized table.

ASP.NET 3.5 has given us the ListView control, which also uses templates for controlling the display of its output. However, it is far more sophisticated than the Repeater control, allowing the use of a variety of templates, for example: a LayoutTemplate for specifying the overall container for the data; an ItemTemplate for specifying the rendering of each item of data; an ItemSeparator template, used to specify the content displayed between items of data; and so on. The ListView control also supports paging, sorting and editing records as well as the creation of new records.

Of the two controls used to display single items of data, the DetailsView resembles GridView in that it displays its output in an automatically-generated HTML table. The other single record data bound control, the FormView, resembles the ListView control, in that it is entirely template driven. Both of the single record controls support paging and sorting and allow you to edit and delete records as well as adding new ones.

Author is a developer and trainer with Macresource Computer Training, an independent computer training company offering ASP.NET training courses in London and throughout the UK.

no comment

Leave a Reply