GridView.Columns プロパティ

定義

DataControlField コントロールの列フィールドを表す GridView オブジェクトのコレクションを取得します。Gets a collection of DataControlField objects that represent the column fields in a GridView control.

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

DataControlFieldCollection コントロール内のすべての列フィールドが格納された GridViewA DataControlFieldCollection that contains all the column fields in the GridView control.

属性

次の例は、コレクションを宣言によって設定する方法を示して Columns います。The following example demonstrates how to populate the Columns collection declaratively.


<%@ 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 ます。A column field represents a column in a GridView control. Columnsプロパティ (コレクション) は、コントロールに表示される、明示的に宣言されたすべての列フィールドを格納するために使用され GridView ます。The Columns property (collection) is used to store all the explicitly declared column fields that get rendered in the GridView control. また、コレクションを使用して、 Columns 列フィールドのコレクションをプログラムで管理することもできます。You can also use the Columns collection to programmatically manage the collection of column fields.

注意

明示的に宣言された列フィールドは、自動的に生成された列フィールドと組み合わせて使用できます。Explicitly declared column fields can be used in combination with automatically generated column fields. 両方を使用する場合は、明示的に宣言された列フィールドが最初に表示され、その後に自動的に生成された列フィールドが続きます。When both are used, explicitly declared column fields are rendered first, followed by the automatically generated column fields. 自動的に生成された列フィールドは、コレクションに追加されません ColumnsAutomatically generated column fields are not added to the Columns collection.

列フィールドは、 GridView コレクションに列フィールドが表示される順序でコントロールに表示され Columns ます。The column fields are displayed in the GridView control in the order that the column fields appear in the Columns collection. 次の表に、クラスから派生 DataControlField し、コレクションで使用できるさまざまな列フィールドクラスを示し Columns ます。The following table shows the different column field classes that derive from the DataControlField class and can be used in the Columns collection.

列フィールドの型Column field type [説明]Description
BoundField データソース内のフィールドの値を表示します。Displays the value of a field in a data source. これは、コントロールの既定の列型です GridViewThis is the default column type of the GridView control.
ButtonField コントロール内の各項目のコマンドボタンを表示 GridView します。Displays a command button for each item in the GridView control. これにより、[追加] ボタンや [削除] ボタンなど、カスタムボタンコントロールの列を作成できます。This enables you to create a column of custom button controls, such as the Add or the Remove button.
CheckBoxField コントロール内の各項目のチェックボックスを表示 GridView します。Displays a check box for each item in the GridView control. この列フィールド型は、通常、ブール値を持つフィールドを表示するために使用されます。This column field type is commonly used to display fields with a Boolean value.
CommandField 選択、編集、または削除の各操作を実行するための定義済みコマンドボタンを表示します。Displays predefined command buttons to perform select, edit, or delete operations.
HyperLinkField データソース内のフィールドの値をハイパーリンクとして表示します。Displays the value of a field in a data source as a hyperlink. この列のフィールドの種類を使用すると、2番目のフィールドをハイパーリンクの URL にバインドできます。This column field type enables you to bind a second field to the hyperlink's URL.
ImageField コントロール内の各項目のイメージを表示 GridView します。Displays an image for each item in the GridView control.
TemplateField GridView指定されたテンプレートに従って、コントロールの各項目についてユーザー定義のコンテンツを表示します。Displays user-defined content for each item in the GridView control, according to a specified template. この列フィールドの種類を使用すると、カスタム列フィールドを作成できます。This column field type enables you to create a custom column field.

プログラムを使用して列フィールドをコレクションに追加することもできますが Columns 、列フィールドを宣言によってコントロール内で列挙し、各列フィールド GridView のプロパティを使用して Visible 各列フィールドの表示/非表示を切り替える方が簡単です。Although you can programmatically add column fields to the Columns collection, it is easier to list the column fields declaratively in the GridView control and then use the Visible property of each column field to show or hide each column field.

Visible列フィールドのプロパティがに設定されている場合、その列はコントロールに表示されず、 false GridView 列のデータがクライアントに対してラウンドトリップすることはありません。If the Visible property of a column field is set to false, the column is not displayed in the GridView control and the data for the column does not make a round trip to the client. 表示されていない列のデータをラウンドトリップさせる場合は、プロパティにフィールド名を追加し DataKeyNames ます。If you want the data for a column that is not visible to make a round trip, add the field name to the DataKeyNames property.

適用対象

こちらもご覧ください