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

C#

public virtual DataControlFieldCollection Columns { get; }
属性值一个 DataControlFieldCollection,包含 GridView 控件中所有列字段。 

 备注 

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


注意
显式声明的列字段可与自动生成的列字段结合使用。两者同时使用时,先呈现显式声明的列字段,再呈现自动生成的列字段。自动生成的列字段不会添加到 Columns 集合中。
 

这些列字段按照它们出现在 Columns 集合中的顺序显示在 GridView 控件中。下表显示从 DataControlField 类派生并且可在 Columns 集合中使用的不同列字段类。



列字段类型 
说明 


BoundField 
 
显示数据源中某个字段的值。这是 GridView 控件的默认列类型。
 


ButtonField 
 
为 GridView 控件中的每个项显示一个命令按钮。这使您可以创建一列自定义按钮控件,如“添加”按钮或“移除”按钮。
 


CheckBoxField 
 
为 GridView 控件中的每一项显示一个复选框。此列字段类型通常用于显示具有布尔值的字段。
 


CommandField 
 
显示用来执行选择、编辑或删除操作的预定义命令按钮。
 


HyperLinkField 
 
将数据源中某个字段的值显示为超链接。此列字段类型允许您将另一个字段绑定到超链接的 URL。
 


ImageField 
 
为 GridView 控件中的每一项显示一个图像。
 


TemplateField 
 
根据指定的模板为 GridView 控件中的每一项显示用户定义的内容。此列字段类型允许您创建自定义的列字段。
 


虽然可通过编程方式将列字段添加到 Columns 集合,但是更简单的方法是在 GridView 控件中以声明方式列出这些列字段,然后使用每个列字段的 Visible 属性来显示或隐藏每个列字段。
如果将某个列字段的 Visible 属性设置为 false,则在 GridView 控件中将不显示该列,该列中的数据也不会往返于客户端。如果希望某个不可见的列中的数据可以进行往返,则向 DataKeyNames 属性添加相应的字段名称。
下面的代码示例演示如何以声明方式填充 Columns 集合。
<%@ Page language="C#" %>
<html>
  <body>
    <form 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>