DataGridColumnCollection.GetEnumerator Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un'interfaccia IEnumerator che contiene tutti gli oggetti colonna derivati da DataGridColumn nell'insieme 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
Restituisce
Interfaccia IEnumerator che contiene tutti gli oggetti colonna derivati da DataGridColumn nell'insieme DataGridColumnCollection.
Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato come usare il GetEnumerator metodo per creare un'interfaccia System.Collections.IEnumerator che può essere iterazione per visualizzare il contenuto della DataGridColumnCollection raccolta.
<%@ 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>
Commenti
Usare questo metodo per creare un'interfaccia System.Collections.IEnumerator che può essere iterata facilmente per ottenere ogni elemento nella DataGridColumnCollection raccolta.
Utilizzare la IEnumerator.Current proprietà per ottenere l'elemento a cui punta attualmente nell'insieme.
Utilizzare il IEnumerator.MoveNext metodo per passare all'elemento successivo nell'insieme.
Utilizzare il IEnumerator.Reset metodo per spostare l'enumeratore nella posizione iniziale.
Nota
Il IEnumerator.MoveNext metodo deve essere chiamato dopo la creazione di un System.Collections.IEnumerator oggetto o dopo aver utilizzato il IEnumerator.Reset metodo per spostare l'enumeratore nel primo elemento dell'insieme. In caso contrario, l'elemento rappresentato dalla IEnumerator.Current proprietà non è definito.