DataGridColumnCollection DataGridColumnCollection DataGridColumnCollection DataGridColumnCollection Class

定義

DataGrid コントロール内の列を表す、DataGridColumn 派生の列オブジェクトのコレクション。A collection of DataGridColumn-derived column objects that represent the columns in a DataGrid control. このクラスは継承できません。This class cannot be inherited.

public ref class DataGridColumnCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class DataGridColumnCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type DataGridColumnCollection = class
    interface ICollection
    interface IEnumerable
    interface IStateManager
Public NotInheritable Class DataGridColumnCollection
Implements ICollection, IStateManager
継承
DataGridColumnCollectionDataGridColumnCollectionDataGridColumnCollectionDataGridColumnCollection
実装

次のコード例は、 DataGridColumnCollectionコレクションを使用して、 DataGridコントロールに列を動的に追加する方法を示しています。The following code example demonstrates how to use the DataGridColumnCollection collection to dynamically add a column to the DataGrid control. コントロールDataGridColumns プロパティDataGridColumnCollectionは、クラスのインスタンスであることに注意してください。Note that the Columns property of the DataGrid control is an instance of the DataGridColumnCollection class.


<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!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" >
   <script runat="server">

      ICollection CreateDataSource() 
      {
      
         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;

      }
 
      void Page_Load(Object sender, EventArgs e) 
      {

         // Create a DataGrid control.
         DataGrid ItemsGrid = new DataGrid();

         // Set the properties of the DataGrid.
         ItemsGrid.ID = "ItemsGrid";
         ItemsGrid.BorderColor = System.Drawing.Color.Black;
         ItemsGrid.CellPadding = 3;
         ItemsGrid.AutoGenerateColumns = false;

         // Set the styles for the DataGrid.
         ItemsGrid.HeaderStyle.BackColor = 
             System.Drawing.Color.FromArgb(0x0000aaaa);

         // Create the columns for the DataGrid control. The DataGrid
         // columns are dynamically generated. Therefore, the columns   
         // must be re-created each time the page is refreshed.
         
         // Create and add the columns to the collection.
         ItemsGrid.Columns.Add(CreateBoundColumn("IntegerValue", "Item"));
         ItemsGrid.Columns.Add(
             CreateBoundColumn("StringValue", "Description"));
         ItemsGrid.Columns.Add(
             CreateBoundColumn("CurrencyValue", "Price", "{0:c}", 
             HorizontalAlign.Right));
         ItemsGrid.Columns.Add(
             CreateLinkColumn("http://www.microsoft.com", "_self", 
             "Microsoft", "Related link"));
        
         // Specify the data source and bind it to the control.
         ItemsGrid.DataSource = CreateDataSource();
         ItemsGrid.DataBind();

         // Add the DataGrid control to the Controls collection of 
         // the PlaceHolder control.
         Place.Controls.Add(ItemsGrid);

      }

      BoundColumn CreateBoundColumn(String DataFieldValue, 
          String HeaderTextValue)
      {

         // This version of the CreateBoundColumn method sets only the
         // DataField and HeaderText properties.

         // Create a BoundColumn.
         BoundColumn column = new BoundColumn();

         // Set the properties of the BoundColumn.
         column.DataField = DataFieldValue;
         column.HeaderText = HeaderTextValue;

         return column;

      }

      BoundColumn CreateBoundColumn(String DataFieldValue, 
          String HeaderTextValue, String FormatValue, 
          HorizontalAlign AlignValue)
      {

         // This version of CreateBoundColumn method sets the DataField,
         // HeaderText, and DataFormatString properties. It also sets the 
         // HorizontalAlign property of the ItemStyle property of the column. 

         // Create a BoundColumn using the overloaded CreateBoundColumn method.
         BoundColumn column = CreateBoundColumn(DataFieldValue, HeaderTextValue);

         // Set the properties of the BoundColumn.
         column.DataFormatString = FormatValue;
         column.ItemStyle.HorizontalAlign = AlignValue;

         return column;

      }

      HyperLinkColumn CreateLinkColumn(String NavUrlValue, 
          String TargetValue, String TextValue, String HeaderTextValue)
      {

         // Create a BoundColumn.
         HyperLinkColumn column = new HyperLinkColumn();

         // Set the properties of the ButtonColumn.
         column.NavigateUrl = NavUrlValue;
         column.Target = TargetValue;
         column.Text = TextValue;
         column.HeaderText = HeaderTextValue;

         return column;

      }

   </script>
 
<head runat="server">
    <title>DataGrid Constructor Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGrid Constructor Example</h3>
 
      <b>Product List</b>

      <asp:PlaceHolder id="Place"
           runat="server"/>
 
   </form>
 
</body>
</html>


<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!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" >
   <script runat="server">

      Function CreateDataSource() As ICollection 
      
         ' Create sample data for the DataGrid control.
         Dim dt As DataTable = New DataTable()
         Dim dr As DataRow
 
         ' Define the columns of the table.
         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("StringValue", GetType(string)))
         dt.Columns.Add(New DataColumn("CurrencyValue", GetType(double)))
 
         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 to 8 
        
            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 * (i + 1)
 
            dt.Rows.Add(dr)

         Next i
 
         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function
 
      Sub Page_Load(sender As Object, e As EventArgs) 

         ' Create a DataGrid control.
         Dim ItemsGrid As DataGrid = New DataGrid()

         ' Set the properties of the DataGrid.
         ItemsGrid.ID = "ItemsGrid"
         ItemsGrid.BorderColor = System.Drawing.Color.Black
         ItemsGrid.CellPadding = 3
         ItemsGrid.AutoGenerateColumns = False

         ' Set the styles for the DataGrid.
         ItemsGrid.HeaderStyle.BackColor = System.Drawing.Color.FromArgb(&H0000aaaa)

         ' Create the columns for the DataGrid control. The DataGrid
         ' columns are dynamically generated. Therefore, the columns   
         ' must be re-created each time the page is refreshed.
         
         ' Create and add the columns to the collection.
         ItemsGrid.Columns.Add(CreateBoundColumn("IntegerValue", "Item"))
         ItemsGrid.Columns.Add( _
             CreateBoundColumn("StringValue", "Description"))
         ItemsGrid.Columns.Add( _
             CreateBoundColumn("CurrencyValue", "Price", "{0:c}", _
             HorizontalAlign.Right))
         ItemsGrid.Columns.Add( _
             CreateLinkColumn("http:'www.microsoft.com", "_self", _
             "Microsoft", "Related link"))
        
         ' Specify the data source and bind it to the control.     
         ItemsGrid.DataSource = CreateDataSource()
         ItemsGrid.DataBind()

         ' Add the DataGrid control to the Controls collection of 
         ' the PlaceHolder control.
         Place.Controls.Add(ItemsGrid)

      End Sub

      Function CreateBoundColumn(DataFieldValue As String, HeaderTextValue As String) As BoundColumn

         ' This version of CreateBoundColumn method sets only the 
         ' DataField and HeaderText properties.

         ' Create a BoundColumn.
         Dim column As BoundColumn = New BoundColumn()

         ' Set the properties of the BoundColumn.
         column.DataField = DataFieldValue
         column.HeaderText = HeaderTextValue

         Return column

      End Function

      Function CreateBoundColumn(DataFieldValue As String, _
          HeaderTextValue As String, FormatValue As String, _
          AlignValue As HorizontalAlign) As BoundColumn

         ' This version of CreateBoundColumn method sets the DataField,
         ' HeaderText, and DataFormatString properties. It also sets the 
         ' HorizontalAlign property of the ItemStyle property of the column. 

         ' Create a BoundColumn using the overloaded CreateBoundColumn method.
         Dim column As BoundColumn = CreateBoundColumn(DataFieldValue, HeaderTextValue)

         ' Set the properties of the BoundColumn.
         column.DataFormatString = FormatValue
         column.ItemStyle.HorizontalAlign = AlignValue

         Return column

      End Function

      Function CreateLinkColumn(NavUrlValue As String, TargetValue As String, _
         TextValue As String, HeaderTextValue As String) As HyperLinkColumn 

         ' Create a BoundColumn.
         Dim column As HyperLinkColumn = New HyperLinkColumn()

         ' Set the properties of the ButtonColumn.
         column.NavigateUrl = NavUrlValue
         column.Target = TargetValue
         column.Text = TextValue
         column.HeaderText = HeaderTextValue

         Return column

      End Function

   </script>
 
<head runat="server">
    <title>DataGrid Constructor Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGrid Constructor Example</h3>
 
      <b>Product List</b>

      <asp:PlaceHolder id="Place"
           runat="server"/>
 
   </form>
 
</body>
</html>

注釈

コレクションをDataGridColumnCollection使用して、から派生しDataGridColumnた列オブジェクトのコレクションをプログラムで管理します。Use the DataGridColumnCollection collection to programmatically manage a collection of DataGridColumn-derived column objects. これらのオブジェクトは、 DataGridコントロール内の列を表します。These objects represent the columns in a DataGrid control. DataGridColumnCollectionコレクション内の列の追加、削除、または挿入を行うことができます。You can add, remove, or insert columns in the DataGridColumnCollection collection.

注意

プロパティがにtrue,設定されている場合、 DataGridコントロールによって作成されColumnsた列はコレクションに追加されません。 AutoGenerateColumnsWhen the AutoGenerateColumns property is set to true, the columns created by the DataGrid control are not added to the Columns collection.

コントロールDataGridは、そのColumnsコレクションの内容をビューステートに格納しません。The DataGrid control does not store the contents of its Columns collection in the view state. 列を動的に追加または削除するには、ページが更新されるたびに、プログラムを使用して列を追加または削除する必要があります。To add or remove a column dynamically, you must programmatically add or remove the column every time the page is refreshed. コントロールのPage_Init状態が再度読み込まれ、コントロールが再構築される前に、列を追加または削除する関数を指定します。 DataGridProvide a Page_Init function that adds or removes the column before the DataGrid control's state is reloaded and the control is rebuilt. そうしないと、 Columnsコレクションに対する変更は、表示されたときにDataGridコントロールに反映されません。Otherwise, the changes to the Columns collection are not reflected in the DataGrid control when it is displayed.

注意

プログラムによってColumns DataGridコントロールのコレクションに対して列の追加や削除を行うことができますが、列をVisible静的に一覧表示してから、プロパティを使用して各列の表示/非表示を簡単に行うことができます。Although you can programmatically add columns to or remove columns from the Columns collection of the DataGrid control, it is easier to list the columns statically and then use the Visible property to display or hide each column.

コレクション内の列の順序によって、 DataGridコントロールに表示される列の順序が決まります。The order of the columns in the collection determines the order that the columns are displayed in the DataGrid control.

次の表に、 DataGridColumnクラスから派生したさまざまな列クラスを示します。The following table lists the different column classes that derive from the DataGridColumn class.

Column クラスColumn Class 説明Description
BoundColumn データソース内のフィールドにバインドされている列。A column that is bound to a field in a data source. フィールド内の各項目がテキストとして表示されます。It displays each item in the field as text. これは、 DataGridコントロールの既定の列型です。This is the default column type for the DataGrid control.
ButtonColumn 列の各項目のコマンドボタンを表示する列。A column that displays a command button for each item in the column. これにより、ボタンの追加や削除など、カスタムボタンコントロールの列を作成できます。This allows you to create a column of custom button controls, such as Add or Remove buttons.
EditCommandColumn 列の各アイテムの編集コマンドを含む列。A column that contains editing commands for each item in the column.
HyperLinkColumn 列の各アイテムをハイパーリンクとして表示する列。A column that displays each item in the column as a hyperlink. 列の内容は、データソース内のフィールドまたは静的テキストにバインドできます。The contents of the column can be bound to a field in a data source, or to static text.
TemplateColumn 指定されたテンプレートに従って、列内の各項目を表示する列。A column that displays each item in the column according to a specified template. これにより、画像を表示するなど、列のコンテンツを制御できます。This allows you to control the content of the column, for example to display images.

注意

DataGridColumnクラスは、表示されている列クラスの基本クラスです。The DataGridColumn class is the base class for the column classes listed. DataGridColumnCollectionコレクション内で直接使用されることはありません。It is not used directly in the DataGridColumnCollection collection.

コンストラクター

DataGridColumnCollection(DataGrid, ArrayList) DataGridColumnCollection(DataGrid, ArrayList) DataGridColumnCollection(DataGrid, ArrayList) DataGridColumnCollection(DataGrid, ArrayList)

DataGridColumnCollection クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataGridColumnCollection class.

プロパティ

Count Count Count Count

DataGridColumnCollection コレクション内の列の数を取得します。Gets the number of columns in the DataGridColumnCollection collection.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

DataGridColumnCollection コレクション内の列を変更できるかどうかを示す値を取得します。Gets a value that indicates whether the columns in the DataGridColumnCollection collection can be modified.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

DataGridColumnCollection コレクションへのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。Gets a value indicating whether access to the DataGridColumnCollection collection is synchronized (thread safe).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

DataGridColumn コレクションの指定したインデックス位置にある DataGridColumnCollection 派生列オブジェクトを取得します。Gets a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

DataGridColumnCollection コレクションへのアクセスを同期するために使用できるオブジェクトを取得します。Gets the object that can be used to synchronize access to the DataGridColumnCollection collection.

メソッド

Add(DataGridColumn) Add(DataGridColumn) Add(DataGridColumn) Add(DataGridColumn)

指定した DataGridColumn の派生列オブジェクトを DataGridColumnCollection コレクションの末尾に追加します。Appends the specified DataGridColumn-derived column object to the end of the DataGridColumnCollection collection.

AddAt(Int32, DataGridColumn) AddAt(Int32, DataGridColumn) AddAt(Int32, DataGridColumn) AddAt(Int32, DataGridColumn)

DataGridColumn コレクション内の指定したインデックス位置に、DataGridColumnCollection 派生列オブジェクトを挿入します。Inserts a DataGridColumn-derived column object in the DataGridColumnCollection collection at the specified index.

Clear() Clear() Clear() Clear()

DataGridColumn コレクションからすべての DataGridColumnCollection の派生列オブジェクトを削除します。Removes all DataGridColumn-derived column objects from the DataGridColumnCollection collection.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

指定した DataGridColumnCollectionArray コレクションの項目をコピーします。コピー操作は、Array 内の指定したインデックス位置から始まります。Copies the items from the DataGridColumnCollection collection to the specified Array, starting at the specified index in the Array.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

IEnumerator コレクションのすべての DataGridColumn 派生列オブジェクトを含む DataGridColumnCollection インターフェイスを返します。Returns a IEnumerator interface that contains all the DataGridColumn-derived column objects in the DataGridColumnCollection collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IndexOf(DataGridColumn) IndexOf(DataGridColumn) IndexOf(DataGridColumn) IndexOf(DataGridColumn)

DataGridColumn コレクションの指定された DataGridColumnCollection 派生列オブジェクトのインデックスを返します。Returns the index of the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(DataGridColumn) Remove(DataGridColumn) Remove(DataGridColumn) Remove(DataGridColumn)

指定した DataGridColumn の派生列オブジェクトを DataGridColumnCollection コレクションから削除します。Removes the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

DataGridColumn コレクションの指定したインデックス位置にある DataGridColumnCollection 派生列オブジェクトを削除します。Removes a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

コレクションがビューステートの変更を追跡しているかどうかを示す値を取得します。Gets a value indicating whether the collection is tracking its view-state changes.

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

以前に保存した状態を読み込みます。Loads the previously saved state.

IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

状態の変化を示すオブジェクトを返します。Returns an object containing state changes.

IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

状態変化の追跡を開始します。Starts tracking state changes.

拡張メソッド

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

こちらもご覧ください