Hi
I am having an issue rooted in the RadTabBar with multi page view.
I am added a number of controls to a RadPanelBar. I am adding HtmlGenericControls with hyperlinks to documents and an album control (other 3rd party) that binds to a list of files (jpeg, etc). When I add this control the RadPanelBar, and add the RadPanelBar to the page (via a PlaceHolder), all works as expected. I have my docs and my image album.
However, if I move the PlaceHolder into a RadTab, the RadPanelPar renders, the documents are present, the html shows the album (and supporting jscript), but does not seem to bind the actual images... they are not present.
Move the Placeholder out of the RadTab... all works again.
Here is the code oh how I am building all this up
I have moving the call to this method from the page_init to page_load, as well as calling it from within the load event of the tab itself. In ll cases the results are the same.
I also moved all this code to a usercontrol and then added the usercontrol to the RadTab... same result
Thanks for any help...
I am having an issue rooted in the RadTabBar with multi page view.
I am added a number of controls to a RadPanelBar. I am adding HtmlGenericControls with hyperlinks to documents and an album control (other 3rd party) that binds to a list of files (jpeg, etc). When I add this control the RadPanelBar, and add the RadPanelBar to the page (via a PlaceHolder), all works as expected. I have my docs and my image album.
However, if I move the PlaceHolder into a RadTab, the RadPanelPar renders, the documents are present, the html shows the album (and supporting jscript), but does not seem to bind the actual images... they are not present.
Move the Placeholder out of the RadTab... all works again.
Here is the code oh how I am building all this up
private void BuildAttachments() { List<String> photoPaths = new List<String>(); List<String> docPaths = new List<String>(); List<ServiceNote> notes = new List<ServiceNote>(); Telerik.Web.UI.RadPanelBar panelBar = new RadPanelBar(); panelBar.ID = ticketId.ToString(); panelBar.ExpandMode = PanelBarExpandMode.SingleExpandedItem; panelBar.Width = 960; int y = 0; foreach (ServiceTicketTask task in ThisTicket.ServiceTicketTasks) { RadPanelItem panelItem = new RadPanelItem(); panelItem.Text = task.ServiceItem.Name; panelBar.Items.Add(panelItem); panelItem.Enabled = false; foreach (ServiceNote note in task.ServiceNotes.Where(n => n.HasPictures).OrderBy(n => n.CreateDate)) { RadPanelItem panelNoteItem = new RadPanelItem(); panelNoteItem.Text = DateTimeFunctions.UtcToMyTime(note.CreateDate, _loggedInUser.TimeZoneId).ToString(); panelItem.Items.Add(panelNoteItem); RadPanelItem panelImageItem = new RadPanelItem(); panelImageItem.Text = Labeling.Photos; panelImageItem.Expanded = true; panelNoteItem.Items.Add(panelImageItem); RadPanelItem panelDocsItem = new RadPanelItem(); panelDocsItem.Text = Labeling.Documents; panelDocsItem.Expanded = true; panelNoteItem.Items.Add(panelDocsItem); String photoPath = Storage.GetGalleryPath(ServiceTicket.MakeServiceTicketName(note.ServiceTicketTask.ServiceTicket.ServiceProvider.Abbrev, note.ServiceTicketTask.ServiceTicket.TicketName), note.ServiceTicketTask.CatalogItem.Name, note.CreateDate, Storage.DocumentGroups.Photos); if (photoPath != null) { panelItem.Enabled = true; String galleryID = String.Format("galleryServiceTickets_{0}", y); GalleryBrowser galleryServiceTickets = new GalleryBrowser(); galleryServiceTickets.ID = galleryID; galleryServiceTickets.Visible = true; galleryServiceTickets.Width = 940; galleryServiceTickets.Height = 50; galleryServiceTickets.AllowEdit = false; galleryServiceTickets.AllowPostComment = false; galleryServiceTickets.AllowShowComment = false; galleryServiceTickets.Layout = "Gridshow"; galleryServiceTickets.LogonUserName = _loggedInUser.FullName; galleryServiceTickets.GalleryFolder = photoPath; galleryServiceTickets.ToolTip = String.Format("{0} - {1}", note.ServiceTicketTask.ServiceItem.Name, note.CreateDate); galleryServiceTickets.DataBind(); TemplateItem template = new TemplateItem(galleryServiceTickets); template.InstantiateIn(panelImageItem); } String docPath = Storage.GetGalleryPath(ServiceTicket.MakeServiceTicketName(note.ServiceTicketTask.ServiceTicket.ServiceProvider.Abbrev, note.ServiceTicketTask.ServiceTicket.TicketName), note.ServiceTicketTask.CatalogItem.Name, note.CreateDate, Storage.DocumentGroups.Docs); if (docPaths != null) { panelItem.Enabled = true; List<String> filePaths = new List<String>(); filePaths = Storage.GetFileCount(docPath); HtmlGenericControl divInner = new HtmlGenericControl("div"); divInner.ID = String.Format("DocDiv_{0}", y); divInner.Attributes.Add("style", "margin:0;padding:2px 0 0 6px;width:1000px;float:left;text-align:left"); Int32 i = 0; foreach (String file in filePaths) { String newFile = file.Replace(HttpContext.Current.Server.MapPath(docPath), "").Replace("\\", ""); String newFilePath = docPath + "/" + newFile; HyperLink hlnkImage = new HyperLink(); hlnkImage.ID = String.Format("hlnkImage_{0}_{1}", y, i); hlnkImage.ImageUrl = Utils.GetIcon(newFile); hlnkImage.SkinID = "hlnkImage"; hlnkImage.NavigateUrl = newFilePath; hlnkImage.Target = "_blank"; hlnkImage.ToolTip = newFile; divInner.Controls.Add(hlnkImage); TemplateItem template = new TemplateItem(divInner); template.InstantiateIn(panelDocsItem); i = i + 1; } } y++; } } HtmlGenericControl scrollDiv = new HtmlGenericControl("div"); if (notes.Count() > 15) scrollDiv.Attributes.Add("style", "float:left;overflow:scroll;overflow-y:hidden; width:940px;"); else scrollDiv.Attributes.Add("style", "float:left; width:940px;"); scrollDiv.Controls.Add(panelBar); plAttachments.Controls.Add(scrollDiv); }
public class TemplateItem : ITemplate { Control control; #region ITemplate Members public void InstantiateIn(Control container) { container.Controls.Add(control); } #endregion public TemplateItem(Control ctrl) { control = ctrl; } }
I have moving the call to this method from the page_init to page_load, as well as calling it from within the load event of the tab itself. In ll cases the results are the same.
I also moved all this code to a usercontrol and then added the usercontrol to the RadTab... same result
Thanks for any help...