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.
For a list of all members of this type, see DataGrid Members.
[Visual Basic] Public Class DataGrid Inherits BaseDataList Implements INamingContainer [C#] public class DataGrid : BaseDataList, INamingContainer [C++] public __gc class DataGrid : public BaseDataList, INamingContainer [JScript] public class DataGrid extends BaseDataList implements INamingContainer
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Use the 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.
Note The order that the columns are displayed in the DataGrid control is controlled by the order that the columns appear in the Columns collection. Although you can programmatically change the order of the columns by manipulating the Columns collection, it is easier to list the columns in the desired display order.
Explicitly declared columns can be displayed in conjunction with automatically generated columns. When using both, explicitly declared columns will be rendered first, followed by the automatically generated columns.
Note Automatically generated columns are not added to the Columns collection.
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.|
You can also show or hide different parts of the 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.
CAUTION This control can be used to display user input, which might include malicious client script. Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. ASP.NET provides an input request validation feature to block script and HTML in user input. Validation server controls are also provided to assess user input. For more information, see Validation Server Controls.
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
Assembly: System.Web (in System.Web.dll)