void DoItem(int i, ListItemType t, object d, bool databind) { DataListItem itm = CreateItem(i, t); if (databind) { itm.DataItem = d; } DataListItemEventArgs e = new DataListItemEventArgs(itm); InitializeItem(itm); // // It is very important that this be called *before* data // binding. Otherwise, we won't save our state in the viewstate. // Controls.Add(itm); if (i != -1) { ItemList.Add(itm); } OnItemCreated(e); if (databind) { itm.DataBind(); OnItemDataBound(e); itm.DataItem = null; } }
private DataListItem CreateItem(int itemIndex, ListItemType itemType, bool dataBind, object dataItem) { DataListItem item = this.CreateItem(itemIndex, itemType); DataListItemEventArgs e = new DataListItemEventArgs(item); this.InitializeItem(item); if (dataBind) { item.DataItem = dataItem; } this.OnItemCreated(e); this.Controls.Add(item); if (dataBind) { item.DataBind(); this.OnItemDataBound(e); item.DataItem = null; } return(item); }