DataGridItemCollection DataGridItemCollection DataGridItemCollection DataGridItemCollection Class

定義

DataGridItem コントロールに含まれる DataGrid オブジェクトのコレクションを表します。Represents a collection of DataGridItem objects in a DataGrid control.

public ref class DataGridItemCollection : System::Collections::ICollection
public class DataGridItemCollection : System.Collections.ICollection
type DataGridItemCollection = class
    interface ICollection
    interface IEnumerable
Public Class DataGridItemCollection
Implements ICollection
継承
DataGridItemCollectionDataGridItemCollectionDataGridItemCollectionDataGridItemCollection
実装

次のコード例は、 DataGridItem DataGridItemCollectionコレクション内のオブジェクトを反復処理する方法を示しています。The following code example shows how to iterate through DataGridItem objects in a DataGridItemCollection collection.


<%@ 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 < 5; 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) 
      {
 
         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
         {
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         }

      }

      void Button_Click(Object sender, EventArgs e) 
      {

         // Count the number of selected items in the DataGrid control.
         int count = 0;

         // Display the selected times.
         Message.Text = "You Selected: <br />";

         // Iterate through each item (row) in the DataGrid control and
         // determine whether it is selected.
         foreach (DataGridItem item in ItemsGrid.Items)
         {

            DetermineSelection(item, ref count);        

         }

         // If no items are selected, display the appropriate message.
         if (count == 0)
         {

            Message.Text = "No items selected";

         }

      }

      void DetermineSelection(DataGridItem item, ref int count)
      {

         // Retrieve the SelectCheckBox CheckBox control from the 
         // specified item (row) in the DataGrid control.
         CheckBox selection = (CheckBox)item.FindControl("SelectCheckBox");

         // If the item is selected, display the appropriate message and
         // increment the count of selected items.
         if (selection != null)
         {

           if (selection.Checked)
           {
              Message.Text += "- " + item.Cells[1].Text + "<br />";
              count++;
           }

         }    

      }

      void Check_Change(Object sender, EventArgs e)
      {

         // Show or hide the first column depending on the value of
         // the check box.
         if (ShowCheckBox.Checked)
         {
            ItemsGrid.Columns[0].Visible = true;
         }
         else
         {
            ItemsGrid.Columns[0].Visible = false;
         }

      }

   </script>
 
<head runat="server">
    <title>DataGridColumn Visible Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGridColumn Visible Example</h3>

      Select whether to show or hide the first column.

      <br /><br />
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           ShowFooter="True"
           AutoGenerateColumns="False"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <FooterStyle BackColor="#00aaaa">
         </FooterStyle>

         <Columns>

            <asp:BoundColumn DataField="IntegerValue"
                 Visible="True" 
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue"
                 Visible="True"  
                 HeaderText="Description"/>

            <asp:BoundColumn DataField="CurrencyValue"
                 Visible="True"  
                 HeaderText="Price"
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

            <asp:TemplateColumn HeaderText="Select Item"
                 Visible="True" >

               <ItemTemplate>

                  <asp:CheckBox id="SelectCheckBox"
                       Text="Add to Cart"
                       Checked="False"
                       runat="server"/>

               </ItemTemplate>

            </asp:TemplateColumn>
 
         </Columns>  
 
      </asp:DataGrid>

      <br /><br />

      <asp:Button id="SubmitButton"
           Text="Submit"
           OnClick = "Button_Click"
           runat="server"/>

      <br /><br />

      <asp:Label id="Message"
           runat="server"/>

      <hr />

      <asp:CheckBox id="ShowCheckBox"
           Text="Show first column"
           AutoPostBack="True"
           OnCheckedChanged="Check_Change"
           Checked="True"
           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 4 
        
            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) 
 
         ' Load sample data only once, when the page is first loaded.
         If Not IsPostBack Then 
  
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()

         End If

      End Sub

      Sub Button_Click(sender As Object, e As EventArgs) 

         ' Count the number of selected items in the DataGrid control.
         Dim count As Integer = 0

         ' Display the selected times.
         Message.Text = "You Selected: <br />"

         ' Iterate through each item (row) in the DataGrid control and
         ' determine whether it is selected.
         Dim item As DataGridItem
 
         For Each item In ItemsGrid.Items

            DetermineSelection(item, count)        

         Next

         ' If no items are selected, display the appropriate message.
         If count = 0 Then

            Message.Text = "No items selected"

         End If

      End Sub

      Sub DetermineSelection(item As DataGridItem, ByRef count As Integer)

         ' Retrieve the SelectCheckBox CheckBox control from the 
         ' specified item (row) in the DataGrid control.
         Dim selection As CheckBox = _
             CType(item.FindControl("SelectCheckBox"), CheckBox)

         ' If the item is selected, display the appropriate message and
         ' increment the count of selected items.
         If Not selection Is Nothing Then

           If selection.Checked Then
           
              Message.Text &= "- " & item.Cells(1).Text & "<br />"
              count = count + 1
           
           End If

         End If    

      End Sub

      Sub Check_Change(sender As Object, e As EventArgs)

         ' Show or hide the first column depending on the value of
         ' the check box.
         If ShowCheckBox.Checked Then
        
            ItemsGrid.Columns(0).Visible = True
         
         Else
         
            ItemsGrid.Columns(0).Visible = False
         
         End If

      End Sub

   </script>
 
<head runat="server">
    <title>DataGridColumn Visible Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGridColumn Visible Example</h3>

      Select whether to show or hide the first column.

      <br /><br />
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           ShowFooter="True"
           AutoGenerateColumns="False"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <FooterStyle BackColor="#00aaaa">
         </FooterStyle>

         <Columns>

            <asp:BoundColumn DataField="IntegerValue"
                 Visible="True" 
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue"
                 Visible="True"  
                 HeaderText="Description"/>

            <asp:BoundColumn DataField="CurrencyValue"
                 Visible="True"  
                 HeaderText="Price"
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

            <asp:TemplateColumn HeaderText="Select Item"
                 Visible="True" >

               <ItemTemplate>

                  <asp:CheckBox id="SelectCheckBox"
                       Text="Add to Cart"
                       Checked="False"
                       runat="server"/>

               </ItemTemplate>

            </asp:TemplateColumn>
 
         </Columns> 
 
      </asp:DataGrid>

      <br /><br />

      <asp:Button id="SubmitButton"
           Text="Submit"
           OnClick = "Button_Click"
           runat="server"/>

      <br /><br />

      <asp:Label id="Message"
           runat="server"/>

      <hr />

      <asp:CheckBox id="ShowCheckBox"
           Text="Show first column"
           AutoPostBack="True"
           OnCheckedChanged="Check_Change"
           Checked="True"
           runat="server"/>
 
   </form>
 
</body>
</html>

注釈

クラスDataGridItemCollectionは、オブジェクトのDataGridItemコレクションを表します。これは、 DataGridコントロールのデータ項目を表します。The DataGridItemCollection class represents a collection of DataGridItem objects, which in turn represent the data items in a DataGrid control. プログラムによっDataGridItemDataGridコントロールからオブジェクトを取得するには、次のいずれかの方法を使用します。To programmatically retrieve DataGridItem objects from a DataGrid control, use one of following methods:

  • 配列表記を使用して、 DataGridItemコレクションから1つのオブジェクトを取得するには、インデクサーを使用します。Use the indexer to get a single DataGridItem object from the collection, using array notation.

  • メソッドを使用してコレクションSystem.Arrayの内容をにコピーします。これを使用してコレクションから項目を取得できます。 CopyToUse the CopyTo method to copy the contents of the collection to a System.Array, which can then be used to get items from the collection.

  • メソッドをGetEnumerator使用して、 System.Collections.IEnumeratorコレクションから項目を取得するために使用できるインターフェイスを作成します。Use the GetEnumerator method to create a System.Collections.IEnumerator interface, which can then be used to get items from the collection.

プロパティCountは、コレクション内の項目の合計数を指定し、一般的にコレクションの上限を決定するために使用されます。The Count property specifies the total number of items in the collection and is commonly used to determine the upper bound of the collection.

コンストラクター

DataGridItemCollection(ArrayList) DataGridItemCollection(ArrayList) DataGridItemCollection(ArrayList) DataGridItemCollection(ArrayList)

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

プロパティ

Count Count Count Count

コレクション内の DataGridItem オブジェクト数を取得します。Gets the number of DataGridItem objects in the collection.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

DataGridItem コレクション内の DataGridItemCollection オブジェクトを変更できるかどうかを示す値を取得します。Gets a value that indicates whether the DataGridItem objects in the DataGridItemCollection collection can be modified.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

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

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

コレクション内の指定したインデックス位置の DataGridItem オブジェクトを取得します。Gets the DataGridItem object at the specified index in the collection.

SyncRoot SyncRoot SyncRoot SyncRoot

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

メソッド

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

指定した DataGridItemCollection にこの Array コレクションのすべての項目をコピーします。コピー操作は、Array 内の指定したインデックス位置から始まります。Copies all the items from this DataGridItemCollection 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 コレクションのすべての DataGridItem オブジェクトを格納する DataGridItemCollection 実装オブジェクトを返します。Returns a IEnumerator-implemented object that contains all the DataGridItem objects in the DataGridItemCollection 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)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

拡張メソッド

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.

適用対象

こちらもご覧ください