GridView.Columns 属性

定义

获取表示 DataControlField 控件中列字段的 GridView 对象的集合。

public:
 virtual property System::Web::UI::WebControls::DataControlFieldCollection ^ Columns { System::Web::UI::WebControls::DataControlFieldCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.DataControlFieldCollection Columns { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Columns : System.Web.UI.WebControls.DataControlFieldCollection
Public Overridable ReadOnly Property Columns As DataControlFieldCollection

属性值

一个 DataControlFieldCollection,包含 GridView 控件中所有列字段。

属性

示例

以下示例演示如何以声明方式填充 Columns 集合。


<%@ 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 Columns Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView Columns Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="true"
        emptydatatext="No data available." 
        runat="server">
        
        <columns>
          <asp:boundfield datafield="CustomerID" headertext="Customer ID"/>
          <asp:boundfield datafield="CompanyName" headertext="Company Name"/>
          <asp:boundfield datafield="Address" headertext="Address"/>
          <asp:boundfield datafield="City" headertext="City"/>
          <asp:boundfield datafield="PostalCode" headertext="Postal Code"/>
          <asp:boundfield datafield="Country" headertext="Country"/>
        </columns>
                
      </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.                            -->
      <asp:sqldatasource id="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
        
    </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 Columns Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView Columns Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="true"
        emptydatatext="No data available." 
        runat="server">
        
        <columns>
          <asp:boundfield datafield="CustomerID" headertext="Customer ID"/>
          <asp:boundfield datafield="CompanyName" headertext="Company Name"/>
          <asp:boundfield datafield="Address" headertext="Address"/>
          <asp:boundfield datafield="City" headertext="City"/>
          <asp:boundfield datafield="PostalCode" headertext="Postal Code"/>
          <asp:boundfield datafield="Country" headertext="Country"/>
        </columns>
                
      </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.                            -->
      <asp:sqldatasource id="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
        
    </form>
  </body>
</html>

注解

列字段表示控件中的 GridView 列。 集合 Columns) (属性用于存储控件中呈现的所有显式声明的 GridView 列字段。 还可以使用 Columns 集合以编程方式管理列字段的集合。

注意

显式声明的列字段可与自动生成的列字段结合使用。 当同时使用这两个字段时,首先呈现显式声明的列字段,然后呈现自动生成的列字段。 自动生成的列字段不会添加到集合中 Columns

列字段按列字段在集合中的 GridView 显示顺序显示在 控件中 Columns 。 下表显示了从 DataControlField 类派生并可在集合中使用的 Columns 不同列字段类。

列字段类型 说明
BoundField 显示数据源中字段的值。 这是控件的默认列类型 GridView
ButtonField 显示控件中每个项的 GridView 命令按钮。 这使你可以创建一列自定义按钮控件,例如“添加”或“删除”按钮。
CheckBoxField 显示控件中每个项的 GridView 复选框。 此列字段类型通常用于显示具有布尔值的字段。
CommandField 显示预定义的命令按钮以执行选择、编辑或删除操作。
HyperLinkField 将数据源中字段的值显示为超链接。 通过此列字段类型,可以将第二个字段绑定到超链接的 URL。
ImageField 显示控件中每个项的图像 GridView
TemplateField 根据指定的模板显示控件中 GridView 每个项的用户定义内容。 通过此列字段类型,可以创建自定义列字段。

尽管可以通过编程方式将列字段添加到 Columns 集合中,但在控件中 GridView 以声明方式列出列字段,然后使用 Visible 每个列字段的 属性来显示或隐藏每个列字段会更容易。

Visible如果列字段的 属性设置为 false,则列不会显示在 控件中GridView,并且列的数据不会往返于客户端。 如果希望不可见的列的数据进行往返,请将字段名称添加到 DataKeyNames 属性。

适用于

另请参阅