GridView.EmptyDataTemplate 属性

定义

获取或设置在 GridView 控件绑定到不包含任何记录的数据源时所呈现的空数据行的用户定义内容。Gets or sets the user-defined content for the empty data row rendered when a GridView control is bound to a data source that does not contain any records.

public:
 virtual property System::Web::UI::ITemplate ^ EmptyDataTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.GridViewRow))]
public virtual System.Web.UI.ITemplate EmptyDataTemplate { get; set; }
member this.EmptyDataTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property EmptyDataTemplate As ITemplate

属性值

一个 ITemplate,包含空数据行的自定义内容。A ITemplate that contains the custom content for the empty data row. 默认值为 null,表示未设置此属性。The default value is null, which indicates that this property is not set.

属性

示例

下面的示例演示如何为在 GridView 控件绑定到不包含任何记录的数据源时所显示的空数据行定义自定义模板。The following example demonstrates how to define a custom template for the empty data row displayed when a GridView control is bound to a data source that does not contain any records.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView EmptyDataTemplate Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView EmptyDataTemplate Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        runat="server">
        
        <emptydatarowstyle backcolor="LightBlue"
          forecolor="Red"/>
                    
        <emptydatatemplate>
                
          <asp:image id="NoDataImage"
            imageurl="~/images/Image.jpg"
            alternatetext="No Image" 
            runat="server"/>
                        
            No Data Found.  
                
        </emptydatatemplate> 
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file. The following query        -->
      <!-- returns an empty data source to demonstrate the      -->
      <!-- empty row.                                           -->
      <asp:sqldatasource id="CustomersSqlDataSource"  
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers] Where CustomerID='NoID'"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>


<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView EmptyDataTemplate Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView EmptyDataTemplate Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        runat="server">
        
        <emptydatarowstyle backcolor="LightBlue"
          forecolor="Red"/>
                    
        <emptydatatemplate>
                
          <asp:image id="NoDataImage"
            imageurl="~/images/Image.jpg"
            alternatetext="No Image" 
            runat="server"/>
                        
            No Data Found.  
                
        </emptydatatemplate> 
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file. The following query        -->
      <!-- returns an empty data source to demonstrate the      -->
      <!-- empty row.                                           -->
      <asp:sqldatasource id="CustomersSqlDataSource"  
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers] Where CustomerID='NoID'"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

注解

当绑定到控件的数据源不包含任何记录时,空数据行将显示在 GridView 控件中。The empty data row is displayed in a GridView control when the data source that is bound to the control does not contain any records. 您可以使用 EmptyDataTemplate 属性为空的数据行定义您自己的自定义用户界面(UI)。You can define your own custom user interface (UI) for the empty data row by using the EmptyDataTemplate property.

若要为空数据行指定自定义模板,请首先将 <EmptyDataTemplate> 标记放在 GridView 控件的开始和结束标记之间。To specify a custom template for the empty data row, first place <EmptyDataTemplate> tags between the opening and closing tags of the GridView control. 然后,你可以在开始和结束 <EmptyDataTemplate> 标记之间列出模板的内容。You can then list the contents of the template between the opening and closing <EmptyDataTemplate> tags. 若要控制空数据行的样式,请使用 EmptyDataRowStyle 属性。To control the style of the empty data row, use the EmptyDataRowStyle property. 或者,您可以通过设置 EmptyDataText 属性(而不是此属性),将内置 UI 用于空的数据行。Alternatively, you can use the built-in UI for the empty data row by setting the EmptyDataText property instead of this property.

有关如何以编程方式访问在空数据模板中声明的控件的信息,请参阅如何:按 ID 访问服务器控件For information about how to programmatically access controls that you declare in an empty data template, see How to: Access Server Controls by ID.

备注

如果同时设置了 EmptyDataTextEmptyDataTemplate 属性,EmptyDataTemplate 属性优先。If both the EmptyDataText and EmptyDataTemplate properties are set, the EmptyDataTemplate property takes precedence.

适用于

另请参阅