下面的代码示例演示如何使用 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 >