The DataGrid control is a multi-column, data-bound ASP.NET server control. Using the DataGrid control, you can display records from a database using a variety of formats. You can also edit, update, and delete records from the database using the DataGrid control. In this first part of the ASP.NET server controls series, I will show you how to use the DataGrid control to develop compelling Web applications.
A data bound list control that displays the items from data source in a table. The DataGrid control allows you to select, sort, and edit these items.
DataGrid control to display the fields of a data source as columns in a table. Each row in the DataGrid control represents a record in the data source. The DataGrid control supports selection, editing, deleting, paging, and sorting.
Different column types determine the behavior of the columns in the control. The following table lists the different column types that can be used.
BoundColumn: Displays a column bound to a field in a data source. It displays each item in the field as text. This is the default column type of the DataGrid control.
ButtonColumn: Displays a command button for each item in the column. This allows you to create a column of custom button controls, such as Add or Remove buttons.
EditCommandColumn: Displays a column that contains editing commands for each item in the column.
HyperLinkColumn: Displays the contents of each item in the column as a hyperlink. The contents of the column can be bound to a field in a data source or static text.
TemplateColumn: Displays each item in the column following a specified template. This allows you to provide custom controls in the column.
By default, the AutoGenerateColumns property is set to true, which creates a BoundColumn object for each field in the data source. Each field is then rendered as a column in the DataGrid control in the order that each field appears in the data source.
You can also manually control which columns appear in the DataGrid control by setting the AutoGenerateColumns property to false and then listing the columns that you want to include between the opening and closing <Columns> tags. The columns specified are added to the Columns collection in the order listed. This allows you to programmatically control the columns in the DataGrid control.
The appearance of the DataGrid control may be customized by setting the style properties for the different parts of the control. The following table lists the different style properties.
AlternatingItemStyle: Specifies the style for alternating items in the DataGrid control.
EditItemStyle: Specifies the style for the item being edited in the DataGrid control.
FooterStyle: Specifies the style for the footer section in the DataGrid control.
HeaderStyle: Specifies the style for the header section in the DataGrid control.
ItemStyle: Specifies the style for the items in the DataGrid control.
PagerStyle: Specifies the style for the page selection section of the DataGrid control.
SelectedItemStyle: Specifies the style for the selected item in the DataGrid control.
The following table lists the properties that control which parts are shown or hidden.
ShowFooter: Shows or hides the footer section of the DataGrid control.
ShowHeader: Shows or hides the header section of the DataGrid control.
You can control the appearance of the DataGrid control by programmatically adding attributes to the <td> and <tr> tags rendered by the control on the browser. Attributes can be programmatically added by providing code in the event handler for the OnItemCreated or OnItemDataBound event.
To add an attribute to the <td> tag, first get the TableCell object that represents the cell in the DataGrid control you want to add the attribute to. The Control..::.Controls collection for the Item property of the DataGridItemEventArgs object passed into the event handler can be used to get the desired TableCell object. You can then use the AttributeCollection..::.Add method of the Attributes collection for the TableCell object to add attributes to the <td> tag.
To add an attribute to the <tr> tag, first get the DataGridItem object that represents the row in the DataGrid control you want to add the attribute to. The Item property of the DataGridItemEventArgs object passed into the event handler can be used to get the desired DataGridItem object. You can then use the AttributeCollection..::.Add method of the Attributes collection for the DataGridItem object to add attributes to the <tr> tag.
ASP.NET DataGrid control
Hot on Web: