如何:在 GridView Web 服务器控件中启用默认选定内容

更新:2007 年 11 月

ASP.NET GridView 控件有一个内置的选定内容功能,允许用户在网格中选择一行。在 GridView 控件中选择一行实际上不执行任何任务。但是,通过添加选定内容功能,可以向网格添加一些功能,在用户指向特定行时进行某种操作。将选定功能添加到 GridView 控件的典型用途包括以下项:

  • 用户选择某一行时,该行会以不同的外观重新显示。

  • 用户选择某一行时,相关数据会在页中的其他位置显示,例如在 DetailsView 控件中显示。

要访问选定的行,请使用 SelectedRow 属性。

为了在用户选定某行时可执行自定义操作,提供了 SelectedIndexChanging 事件的处理程序。

过程

使用智能标记启用选定内容

  1. 在**“设计”视图中右击 GridView 控件并单击“显示智能标记”**。

  2. 在智能标记面板中选择**“启用选定内容”**。

使用 AutoGenerateSelectButton 属性启用默认选定内容

  • 选择 GridView 控件,在**“属性”窗口中将“AutoGenerateSelectButton”**设置为 true。

    - 或 -

  • 在**“源”**视图中,将 <asp:GridView> 元素中的 AutoGenerateSelecttButton 属性设置为 true:

    <asp:GridView Runat="server" ID="GridView1" 
      AutoGenerateSelectButton="true" />
    

在选定内容模式中自定义行的外观

  • 设置 SelectedRowStyle 的属性。

    例如,如果将 SelectedRowStyle 的 BackColor 子属性设置为灰色,选定的行则显示为具有灰色背景。

自定义“选择”按钮的命令文本

  1. 在**“设计”视图中右击 GridView 控件并单击“显示智能标记”**。

  2. 单击**“编辑列”**。

    显示**“字段”**对话框。

  3. 在**“选定的字段”下面,单击“选择”**。

    将字段属性加载到属性网格。

  4. 在**“CommandField”属性下面的 SelectText 属性中,输入“选择”**按钮的文本。

将“选择”按钮的命令文本更改为图像

  1. 在**“设计”视图中右击 GridView 控件并单击“显示智能标记”**。

  2. 单击**“编辑列”**。

    显示**“字段”**对话框。

  3. 在**“选定的字段”下面,单击“选择”**。

    将字段属性加载到属性网格。

  4. 在**“CommandField”属性下面的 SelectImageUrl 字段中,输入或选择要用于“选择”**按钮的图像的 URL。

  5. 在**“CommandField”属性下面的 ButtonType 字段中,选择“图像”**。

  6. 单击**“确定”**。

在 DetailsView 控件中显示选定的行

  1. 复制绑定到 GridView 控件的数据源控件,将该数据源控件的副本粘贴到页面上。

  2. 在**“设计”视图中右击数据源控件,再单击“显示智能标记”**。

  3. 单击**“配置数据源…”**。

  4. 检查**“应用程序连接数据库应使用哪个数据连接?”**字段设置为 GridView 控件所使用的连接。

  5. 单击**“下一步”**。

  6. 选择**“指定来自表或视图的列”**选项。

  7. 在**“名称”**下拉列表中确认选定了绑定到 GridView 控件的表。

  8. 在**“列”**下选择要显示在 DetailsView 控件中的表列。

  9. 单击**“WHERE…”**按钮。

    **“添加 WHERE 子句”**窗口打开。

  10. 在**“列”**下拉列表中选择要用在 WHERE 子句中的列名。该列应是表的主键或仅包含标识选定行的唯一值。

  11. 在**“源”下拉列表中选择“控件”**。

  12. 在**“控件 ID”**下拉列表中选择 GridView 控件的 ID。

  13. 单击**“添加”**。

  14. 单击**“确定”,然后单击“下一步”,再单击“完成”**。

  15. 右击 DetailsView 控件,再单击**“显示智能标记”**。

  16. 在**“选择数据源”**下拉列表中选择刚配置的数据源控件。

请参见

概念

修改 GridView Web 服务器控件中的数据

参考

GridView Web 服务器控件概述