如何:在 GridView Web 服务器控件中启用默认选定内容
更新: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 控件,再单击**“显示智能标记”**。
在**“选择数据源”**下拉列表中选择刚配置的数据源控件。