下面的代码示例演示如何使用 GetEnumerator 方法来创建 System.Collections.IEnumerator 接口,该接口可被循环访问以显示 DataGridColumnCollection 集合的内容。view plaincopy to clipboardprint?<%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <HTML> <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> <FORM runat="server"> <H3>DataGridColumnCollection GetEnumerator Example</H3> <B>Product List</B> <ASP:DATAGRID id=ItemsGrid runat="server" AutoGenerateColumns="false" CellPadding="3" BorderWidth="1" BorderColor="black"> <HEADERSTYLE BackColor="#00aaaa"> </HEADERSTYLE> <COLUMNS> <ASP:BOUNDCOLUMN DataField="IntegerValue" HeaderText="Item Number" /> <ASP:BOUNDCOLUMN DataField="StringValue" HeaderText="Item" /> <ASP:BOUNDCOLUMN DataField="CurrencyValue" HeaderText="Price" DataFormatString="{0:c}"> <ITEMSTYLE HorizontalAlign="right"> </ITEMSTYLE> </ASP:BOUNDCOLUMN> </COLUMNS> </ASP:DATAGRID> <P> <ASP:BUTTON id=Button1 onclick=Button_Click runat="server" Text="Create IEnumerator" /> <P> <ASP:LABEL id=Label1 runat="server" /> </FORM>