使用 DataGrid 控件可以将数据源的字段作为表中的列显示。DataGrid 控件中的每一行表示数据源中的一个记录。DataGrid 控件支持选择、编辑、删除、分页和排序。
不同的列类型决定控件中各列的行为。下表列出了可以使用的不同列类型。
默认情况下,AutoGenerateColumns 属性被设置为 true,为数据源中的每一个字段创建一个 BoundColumn 对象。每个字段然后作为 DataGrid 控件中的列呈现,其顺序同于每一字段在数据源中出现的顺序。
您还可以手动控制在 DataGrid 控件中显示哪些列,方法是首先将 AutoGenerateColumns 属性设置为 false,然后列出您要包括在开始和结束 <Columns> 标记之间的列。指定的列将以所列出的顺序添加到 Columns 集合中。这允许您以编程的方式控制 DataGrid 控件中的列。
注意 |
|---|
| 列在 DataGrid 控件中显示的顺序由列在 Columns 集合中出现的顺序控制。尽管您可以通过操作 Columns 集合以编程方式更改列的顺序,但以所需的显示顺序列出列更为容易。 |
显式声明的列可与自动生成的列一起显示。当同时使用这二者时,首先呈现的是显式声明的列,其后是自动生成的列。
注意 |
|---|
| 自动生成的列不会添加到 Columns 集合中。 |
可以通过为 DataGrid 控件的不同部分设置样式属性来自定义该控件的外观。下表列出了不同的样式属性。
也可以显示或隐藏控件的不同部分。下表列出控制显示或隐藏哪些部分的属性。
您可以控制 DataGrid 控件的外观,方法是以编程的方式将属性添加到浏览器上该控件呈现的 <td> 和 <tr> 标记中。可以通过编程的方式添加属性,方法是为 OnItemCreated 或 OnItemDataBound 事件提供事件处理程序中的代码。
若要将属性添加到 <td> 标记,请首先获取 TableCell 对象,该对象表示您要将属性添加到其中的 DataGrid 控件中的单元格。可以使用传递到事件处理程序的 DataGridItemEventArgs 对象的 Item 属性的 Control.Controls 集合来获取所需的 TableCell 对象。然后可以使用 TableCell 对象的 Attributes 集合的 AttributeCollection.Add 方法来将属性添加到 <td> 标记。
若要将属性添加到 <tr> 标记,请首先获取 DataGridItem 对象,该对象表示您要将属性添加到其中的 DataGrid 控件中的行。可以使用传递到事件处理程序的 DataGridItemEventArgs 对象的 Item 属性获取所需的 DataGridItem 对象。然后可以使用 DataGridItem 对象的 Attributes 集合的 AttributeCollection.Add 方法来将属性添加到 <tr> 标记。
警告 |
|---|
| 此控件可用来显示用户输入,而该输入可能包含恶意的客户端脚本。在应用程序中显示从客户端发送来的任何信息之前,请检查它们是否包含可执行脚本、SQL 语句或其他代码。ASP.NET 提供输入请求验证功能以阻止用户输入中的脚本和 HTML。还提供验证服务器控件以判断用户输入。有关更多信息,请参见 验证服务器控件语法。 |
辅助功能
默认情况下为此控件呈现的标记可能不符合 Web 内容辅助功能准则 1.0 (WCAG) 中优先级为 1 的准则等辅助功能标准。有关此控件的辅助功能支持的详细信息,请参见 ASP.NET 控件和辅助功能。