/// <summary> /// Item Created event to add ratings. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void resourcesList_ItemDataBound(object sender, RepeaterItemEventArgs e) { PlaceHolder ratingsPlaceHolder = ((PlaceHolder)e.Item.FindControl("ratingsPlaceHolder")); DataRowView drv = (DataRowView)e.Item.DataItem; int ID = Convert.ToInt32(drv["ID"].ToString()); Guid ListGuid = new Guid(drv["ListId"].ToString()); Guid WebGuid = new Guid(drv["WebId"].ToString()); SPSite Site = SPContext.Current.Site; SPWeb Web = Site.OpenWeb(WebGuid); SPList List = Web.Lists[ListGuid]; SPField Field = List.Fields.TryGetFieldByStaticName("AverageRating"); if (Field != null) { AverageRatingFieldControl avgRatings = new AverageRatingFieldControl(); avgRatings.ItemContext = SPContext.GetContext(HttpContext.Current, ID, ListGuid, Web); avgRatings.ListId = ListGuid; avgRatings.ItemId = ID; avgRatings.ControlMode = SPControlMode.Display; avgRatings.FieldName = "AverageRating"; ratingsPlaceHolder.Controls.Add(avgRatings); } }
protected void lvResources_ItemDataBound(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType != ListViewItemType.DataItem) { return; } ListViewDataItem item = e.Item as ListViewDataItem; PlaceHolder ratingsPlaceHolder = ((PlaceHolder)e.Item.FindControl("ratingsPlaceHolder")); DataRowView drv = (DataRowView)item.DataItem; int ID = Convert.ToInt32(drv["ID"].ToString()); Guid ListGuid = ResourceListId; Guid WebGuid = WebId; SPSite Site = SPContext.Current.Site; using (SPWeb Web = SPContext.Current.Site.OpenWeb("documentsdb")) { // SPWeb Web = Site.OpenWeb(WebGuid); SPList List = Web.Lists[ListGuid]; SPField Field = List.Fields.TryGetFieldByStaticName("AverageRating"); if (Field != null) { AverageRatingFieldControl avgRatings = new AverageRatingFieldControl(); avgRatings.ItemContext = SPContext.GetContext(HttpContext.Current, ID, ListGuid, Web); avgRatings.ListId = ListGuid; avgRatings.ItemId = ID; avgRatings.ControlMode = SPControlMode.Display; avgRatings.FieldName = "AverageRating"; ratingsPlaceHolder.Controls.Add(avgRatings); } } }