This documentation is archived and is not being maintained.

DataGridItemCollection Class

Represents a collection of DataGridItem objects in a DataGrid control.


Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public class DataGridItemCollection : ICollection, 

The DataGridItemCollection type exposes the following members.

Public methodDataGridItemCollectionInitializes a new instance of the DataGridItemCollection class.

Public propertyCountGets the number of DataGridItem objects in the collection.
Public propertyIsReadOnlyGets a value that indicates whether the DataGridItem objects in the DataGridItemCollection collection can be modified.
Public propertyIsSynchronizedGets a value indicating whether access to the DataGridItemCollection collection is synchronized (thread-safe).
Public propertyItemGets the DataGridItem object at the specified index in the collection.
Public propertySyncRootGets the object that can be used to synchronize access to the DataGridItemCollection collection.

Public methodCopyToCopies all the items from this DataGridItemCollection collection to the specified System.Array, starting at the specified index in the System.Array.
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetEnumeratorReturns a System.Collections.IEnumerator-implemented object that contains all the DataGridItem objects in the DataGridItemCollection collection.
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Public Extension MethodAsParallelEnables parallelization of a query. (Defined by ParallelEnumerable.)
Public Extension MethodAsQueryableConverts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension MethodCast<TResult>Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension MethodOfType<TResult>Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)

The DataGridItemCollection class represents a collection of DataGridItem objects, which in turn represent the data items in a DataGrid control. To programmatically retrieve DataGridItem objects from a DataGrid control, use one of following methods:

  • Use the indexer to get a single DataGridItem object from the collection, using array notation.

  • Use 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.

  • Use the GetEnumerator method to create a System.Collections.IEnumerator interface, which can then be used to get items from the collection.

The Count property specifies the total number of items in the collection and is commonly used to determine the upper bound of the collection.

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"
<html xmlns="" >
   <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);


         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();


      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 />";



      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;
            ItemsGrid.Columns[0].Visible = false;



<head runat="server">
    <title>DataGridColumn Visible Example</title>

   <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"

         <HeaderStyle BackColor="#00aaaa">

         <FooterStyle BackColor="#00aaaa">


            <asp:BoundColumn DataField="IntegerValue"

            <asp:BoundColumn DataField="StringValue"

            <asp:BoundColumn DataField="CurrencyValue"

               <ItemStyle HorizontalAlign="Right">


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


                  <asp:CheckBox id="SelectCheckBox"
                       Text="Add to Cart"





      <br /><br />

      <asp:Button id="SubmitButton"
           OnClick = "Button_Click"

      <br /><br />

      <asp:Label id="Message"

      <hr />

      <asp:CheckBox id="ShowCheckBox"
           Text="Show first column"



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.