DataGridColumnCollection.GetEnumerator Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une interface IEnumerator qui contient tous les objets de colonne dérivés de DataGridColumn dans la collection DataGridColumnCollection.
public:
virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Retours
Interface IEnumerator qui contient tous les objets de colonne dérivés de DataGridColumn dans DataGridColumnCollection.
Implémente
Exemples
L’exemple de code suivant montre comment utiliser la GetEnumerator méthode pour créer une System.Collections.IEnumerator interface qui peut être itérée, mais pour afficher le contenu de la DataGridColumnCollection 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 language="C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
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)
{
if (!IsPostBack)
{
// Load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
void Button_Click(Object sender, EventArgs e)
{
// Create IEnumerator for rows.
IEnumerator myEnum = ItemsGrid.Columns.GetEnumerator();
DataGridColumn column;
Label1.Text = "The header text of the items in the IEnumerator are: <br /><br />";
// Iterate through IEnumerator and display its contents.
while (myEnum.MoveNext())
{
column = (DataGridColumn)myEnum.Current;
Label1.Text += column.HeaderText + "<br />";
}
}
</script>
<head runat="server">
<title>DataGridColumnCollection GetEnumerator Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGridColumnCollection GetEnumerator Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:BoundColumn
HeaderText="Item Number"
DataField="IntegerValue"/>
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="right">
</ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
<br />
<asp:Button id="Button1"
Text="Create IEnumerator"
OnClick="Button_Click"
runat="server"/>
<br />
<asp:Label id="Label1"
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 language="VB" runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
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 New DataView(dt)
Return dv
End Function 'CreateDataSource
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
' Load this data only once.
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub 'Page_Load
Sub Button_Click(sender As Object, e As EventArgs)
' Create IEnumerator for rows.
Dim myEnum As IEnumerator = ItemsGrid.Columns.GetEnumerator()
Dim column As DataGridColumn
Label1.Text = "The header text of the items in the IEnumerator are: <br /><br />"
' Iterate through IEnumerator and display its contents.
While myEnum.MoveNext()
column = CType(myEnum.Current, DataGridColumn)
Label1.Text &= column.HeaderText & "<br />"
End While
End Sub 'Button_Click
</script>
<head runat="server">
<title>DataGridColumnCollection GetEnumerator Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGridColumnCollection GetEnumerator Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:BoundColumn
HeaderText="Item Number"
DataField="IntegerValue"/>
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="right">
</ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
<br />
<asp:Button id="Button1"
Text="Create IEnumerator"
OnClick="Button_Click"
runat="server"/>
<br />
<asp:Label id="Label1"
runat="server"/>
</form>
</body>
</html>
Remarques
Utilisez cette méthode pour créer une System.Collections.IEnumerator interface qui peut être itérée facilement pour obtenir chaque élément de la DataGridColumnCollection collection.
Utilisez la propriété pour obtenir l’élément IEnumerator.Current actuellement pointé dans la collection.
Utilisez la IEnumerator.MoveNext méthode pour passer à l’élément suivant de la collection.
Utilisez la IEnumerator.Reset méthode pour déplacer l’énumérateur vers la position initiale.
Notes
La IEnumerator.MoveNext méthode doit être appelée après avoir créé un System.Collections.IEnumerator objet ou après avoir utilisé la IEnumerator.Reset méthode pour déplacer l’énumérateur vers le premier élément de la collection. Sinon, l’élément représenté par la IEnumerator.Current propriété n’est pas défini.