<%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <mce:script runat="server"><!-- ICollection CreateDataSource() { // Create sample data for the DataList 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 < 9; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Description for 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) { // Manually register the event-handling method for the // ItemCommand event. ItemsList.ItemDataBound += new DataListItemEventHandler(this.Item_Bound); // Load sample data only once, when the page is first loaded. if (!IsPostBack) { ItemsList.DataSource = CreateDataSource(); ItemsList.DataBind(); } } void Item_Bound(Object sender, DataListItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { // Retrieve the Label control in the current DataListItem. Label PriceLabel = (Label)e.Item.FindControl("PriceLabel"); // Retrieve the text of the CurrencyColumn from the DataListItem // and convert the value to a Double. Double Price = Convert.ToDouble( ((DataRowView)e.Item.DataItem).Row.ItemArray[2].ToString()); // Format the value as currency and redisplay it in the DataList. PriceLabel.Text = Price.ToString("c"); } } // --></mce:script> <body> <form runat=server> <h3>DataList ItemDataBound Example</h3> <asp:DataList id="ItemsList" BorderColor="black" CellPadding="5" CellSpacing="5" RepeatDirection="Vertical" RepeatLayout="Table" RepeatColumns="3" ShowBorder="True" runat="server"> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="Gainsboro"> </AlternatingItemStyle> <HeaderTemplate> List of items </HeaderTemplate> <ItemTemplate> Description: <br> <%# DataBinder.Eval(Container.DataItem, "StringValue") %> <br> Price: <asp:Label id="PriceLabel" runat="server"/> </ItemTemplate> </asp:DataList> </form> </body> </html>