DataGridItemCollection DataGridItemCollection DataGridItemCollection DataGridItemCollection Class

Definition

Stellt eine Auflistung von DataGridItem-Objekten in einem DataGrid-Steuerelement dar.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
Vererbung
DataGridItemCollectionDataGridItemCollectionDataGridItemCollectionDataGridItemCollection
Implementiert

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie-Objekte DataGridItem in einer DataGridItemCollection Auflistung durchlaufen werden.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>

Hinweise

Die DataGridItemCollection -Klasse stellt eine Auflistung DataGridItem von-Objekten dar, die wiederum die Datenelemente in DataGrid einem-Steuerelement darstellen.The DataGridItemCollection class represents a collection of DataGridItem objects, which in turn represent the data items in a DataGrid control. Um Objekte Programm gesteuert DataGridItem aus einem DataGrid -Steuerelement abzurufen, verwenden Sie eine der folgenden Methoden:To programmatically retrieve DataGridItem objects from a DataGrid control, use one of following methods:

  • Verwenden Sie den Indexer, um mithilfe DataGridItem der Array Notation ein einzelnes-Objekt aus der Auflistung zu erhalten.Use the indexer to get a single DataGridItem object from the collection, using array notation.

  • Verwenden Sie CopyTo die-Methode, um den Inhalt der Auflistung in System.Arrayeinen zu kopieren. dieser kann dann verwendet werden, um Elemente aus der Auflistung zu erhalten.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.

  • Verwenden Sie GetEnumerator die-Methode, System.Collections.IEnumerator um eine-Schnittstelle zu erstellen, die dann verwendet werden kann, um Elemente aus der Auflistung zu erhalten.Use the GetEnumerator method to create a System.Collections.IEnumerator interface, which can then be used to get items from the collection.

Die Count -Eigenschaft gibt die Gesamtanzahl der Elemente in der Auflistung an und wird häufig verwendet, um die obere Grenze der Auflistung zu bestimmen.The Count property specifies the total number of items in the collection and is commonly used to determine the upper bound of the collection.

Konstruktoren

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

Initialisiert eine neue Instanz der DataGridItemCollection-Klasse.Initializes a new instance of the DataGridItemCollection class.

Eigenschaften

Count Count Count Count

Ruft die Anzahl der DataGridItem-Objekte in der Auflistung ab.Gets the number of DataGridItem objects in the collection.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Ruft einen Wert ab, der angibt, ob die DataGridItem-Objekte in der DataGridItemCollection-Auflistung geändert werden können.Gets a value that indicates whether the DataGridItem objects in the DataGridItemCollection collection can be modified.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die DataGridItemCollection-Auflistung synchronisiert (threadsicher) ist.Gets a value indicating whether access to the DataGridItemCollection collection is synchronized (thread-safe).

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

Ruft das DataGridItem-Objekt am angegebenen Index in der Auflistung ab.Gets the DataGridItem object at the specified index in the collection.

SyncRoot SyncRoot SyncRoot SyncRoot

Ruft das Objekt ab, mit dem der Zugriff auf die DataGridItemCollection-Auflistung synchronisiert werden kann.Gets the object that can be used to synchronize access to the DataGridItemCollection collection.

Methoden

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

Kopiert alle Elemente aus dieser DataGridItemCollection-Auflistung in das angegebene Array, wobei am angegebenen Index im Array begonnen wird.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)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Gibt ein implementiertes IEnumerator-Objekt zurück, das alle DataGridItem-Objekte in der DataGridItemCollection-Auflistung enthält.Returns a IEnumerator-implemented object that contains all the DataGridItem objects in the DataGridItemCollection collection.

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

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Erweiterungsmethoden

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

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

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

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

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

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

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

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Siehe auch