更新:2007 年 11 月
ASP.NET GridView 控件有一个内置的选定内容功能,允许用户在网格中选择一行。在 GridView 控件中选择一行实际上不执行任何任务。但是,通过添加选定内容功能,可以向网格添加一些功能,在用户指向特定行时进行某种操作。将选定功能添加到 GridView 控件的典型用途包括以下项:
- 用户选择某一行时,该行会以不同的外观重新显示。 
- 用户选择某一行时,相关数据会在页中的其他位置显示,例如在 DetailsView 控件中显示。 
要访问选定的行,请使用 SelectedRow 属性。
为了在用户选定某行时可执行自定义操作,提供了 SelectedIndexChanging 事件的处理程序。
过程
使用智能标记启用选定内容
- 在**“设计”视图中右击 GridView 控件并单击“显示智能标记”**。 
- 在智能标记面板中选择**“启用选定内容”**。 
使用 AutoGenerateSelectButton 属性启用默认选定内容
- 选择 GridView 控件,在**“属性”窗口中将“AutoGenerateSelectButton”**设置为 true。 - - 或 - 
- 在**“源”**视图中,将 <asp:GridView> 元素中的 AutoGenerateSelecttButton 属性设置为 true: - <asp:GridView Runat="server" ID="GridView1" AutoGenerateSelectButton="true" />
在选定内容模式中自定义行的外观
- 设置 SelectedRowStyle 的属性。 - 例如,如果将 SelectedRowStyle 的 BackColor 子属性设置为灰色,选定的行则显示为具有灰色背景。 
自定义“选择”按钮的命令文本
- 在**“设计”视图中右击 GridView 控件并单击“显示智能标记”**。 
- 单击**“编辑列”**。 - 显示**“字段”**对话框。 
- 在**“选定的字段”下面,单击“选择”**。 - 将字段属性加载到属性网格。 
- 在**“CommandField”属性下面的 SelectText 属性中,输入“选择”**按钮的文本。 
将“选择”按钮的命令文本更改为图像
- 在**“设计”视图中右击 GridView 控件并单击“显示智能标记”**。 
- 单击**“编辑列”**。 - 显示**“字段”**对话框。 
- 在**“选定的字段”下面,单击“选择”**。 - 将字段属性加载到属性网格。 
- 在**“CommandField”属性下面的 SelectImageUrl 字段中,输入或选择要用于“选择”**按钮的图像的 URL。 
- 在**“CommandField”属性下面的 ButtonType 字段中,选择“图像”**。 
- 单击**“确定”**。 
在 DetailsView 控件中显示选定的行
- 复制绑定到 GridView 控件的数据源控件,将该数据源控件的副本粘贴到页面上。 
- 在**“设计”视图中右击数据源控件,再单击“显示智能标记”**。 
- 单击**“配置数据源…”**。 
- 检查**“应用程序连接数据库应使用哪个数据连接?”**字段设置为 GridView 控件所使用的连接。 
- 单击**“下一步”**。 
- 选择**“指定来自表或视图的列”**选项。 
- 在**“名称”**下拉列表中确认选定了绑定到 GridView 控件的表。 
- 在**“列”**下选择要显示在 DetailsView 控件中的表列。 
- 单击**“WHERE…”**按钮。 - **“添加 WHERE 子句”**窗口打开。 
- 在**“列”**下拉列表中选择要用在 WHERE 子句中的列名。该列应是表的主键或仅包含标识选定行的唯一值。 
- 在**“源”下拉列表中选择“控件”**。 
- 在**“控件 ID”**下拉列表中选择 GridView 控件的 ID。 
- 单击**“添加”**。 
- 单击**“确定”,然后单击“下一步”,再单击“完成”**。 
- 右击 DetailsView 控件,再单击**“显示智能标记”**。 
- 在**“选择数据源”**下拉列表中选择刚配置的数据源控件。