Author Archive

Easily Display Complex Data With The ASP.NET GridView Control

Database-driven website are a fairly standard requirement and, in some development environments, it can take a fair amount of programming to achieve...

 

Database-driven website are a fairly standard requirement and, in some development environments, it can take a fair amount of programming to achieve. In ASP.NET, however, it is remarkably easy, thanks to the use of built-in data-bound controls. There are two types of data-bound controls: those which are designed to display multiple records and those which will display one record only. The GridView control, the workhorse of databinding in ASP.NET, falls into the first category. It automatically generates an HTML table and fills it with information from a given data source with each record in the database rendered as a row in the table.

In Microsoft Visual Web Developer, you can create a Gridview by simply exploring the appropriate data source using the database explorer then dragging the appropriate table or view onto the page. This action creates both a DataSource object and a GridView object, both of which can be customised either in Design or Source view. If the listing you wish to display on the page is to be tabular, you may not need to change the default GridView. However, it is more usual that you will want to customize the way in which data is displayed.

The first step in customization is often to turn off the automatic display of all the fields in the database as columns in the HTML table. This is done by setting the GridView’s AutoGenerateColumns attribute to False. Secondly, we can display data in a number of different ways. By default information is displayed in a BoundField, meaning that the data is displayed as text. By default, the heading displayed at the top of each column is simply the name of each field in the database. However, you can modify this by changing the HeaderText property of each BoundField element. Another useful property is DataFormatString which allow you to use a format string to control the display of data.

Another useful form of customization is the display of data in a choice of other HTML formats: CheckboxField, RadioButtonField, HyperlinkField, ButtonField and ImageField. The final type of field is CommandField which enables you to display links enabling the user to edit, delete or select rows of data.

For even greater flexibility, the GridView control also provides the TemplateField which allows you to place any HTML content you like in a given column and use databinding statements to embed information from the database as required. Template fields can even contain ASP.NET server controls.

You can get up to date information on ASP.NET training courses, visit Macresource Computer Training, a UK IT training company offering ASP.NET Classes in London and throughout the UK.

Understanding The For-each Element In XSLT

 

Extensible Stylesheet Language (XSL) is an XML technology which is used to transform XML data. XML file can be used to set the ground-rules for a given body of data and to describe the data itself. XSL allows us to take that input XML data and convert it into information which can be displayed in a web browser window or opened with a text editor. It can also be used to create an XML file which is a modified version of an input XML file.

When displaying elements in a browser window, the XSL elements which enable looping through an XML tree and decision-making really come into their own. One of the key methods used in XSL for looping through XML elements is the “For-each” element. This uses the “select” attribute to specify which element is to be targeted in the loop. The “For-each” element has both an opening and a closing tag and any lines of code placed between the opening and closing tags will be repeated each time the element specified in the “select” attribute is encountered in the XML file.

For example, let’s say we have an input XML file containing a list of companies and the addresses of their websites. Let’s also say that the element which we will be targeting in the XSL “For-each” statement is called “company” and that, for each company element, we have a “name”, “telephone” and “website” element. Before beginning our “For-each” loop, we could output the opening tag of an HTML “ul” element (an unordered or bulleted list).

Inside the “For-each” loop, we could output an HTML “li” element and, between its opening and closing tags, output the contents of the “name” and “telephone” elements from the XML file. The data in the “website” element in the input XML could be used to convert the “name” into a clickable link.

As to the appearance of the data in the resulting HTML output, this would be controlled by a linked CSS file. CSS can be used to format the output in any way we desire, so our bulleted list can take on pretty much any appearance we desire.

The The writer of this article is a trainer and developer with Macresource Computer Training, an independent computer training company offering XML, XSLT, XPATH, XQuery and XSL-FO training courses in London and throughout the UK.