protected void Page_Load(object sender, EventArgs e) { repNews.DataSource = this.DataSource; repNews.DataBind(); if (!Page.IsPostBack) { // Activate news if active if (!string.IsNullOrEmpty(Request.QueryString["newsID"])) { int newsID = -1; int.TryParse(Request.QueryString["newsID"].ToString(), out newsID); bool found = false; int index = -1; IEnumerable <News.NewsItem> list = this.DataSource; foreach (QueryLayer.News.NewsItem item in list) { index++; if (item.NewsId == newsID) { found = true; break; } } if (found) { Control con = FindControlR(repNews.Items[index], "cpeNews"); if (con != null) { AjaxControlToolkit.CollapsiblePanelExtender extender = (AjaxControlToolkit.CollapsiblePanelExtender)con; if (extender != null) { extender.Focus(); extender.Collapsed = false; //FocusControlOnPageLoad(extender.ClientID); } } } } } }
/// <summary> /// Prepares the layout of the web part. /// </summary> protected override void PrepareLayout() { StartLayout(); Append("<div"); // Width string width = Width; if (!string.IsNullOrEmpty(width)) { Append(" style=\"width: ", width, "\""); } if (IsDesign) { Append(" id=\"", ShortClientID, "_env\">"); Append("<table class=\"LayoutTable\" cellspacing=\"0\" style=\"width: 100%;\">"); if (ViewModeIsDesign()) { Append("<tr><td class=\"LayoutHeader\" colspan=\"2\">"); // Add header container AddHeaderContainer(); Append("</td></tr>"); } Append("<tr><td style=\"width: 100%;\">"); } else { Append(">"); } // Header panel Panel pnlHeader = new Panel(); pnlHeader.ID = "pnlH"; pnlHeader.CssClass = HeaderCSSClass; pnlHeader.EnableViewState = false; // Header label Label lblHeader = new Label(); lblHeader.CssClass = HeaderCSSClass; lblHeader.ID = "lblH"; pnlHeader.Controls.Add(lblHeader); // Header image Image imgHeader = new Image(); imgHeader.CssClass = ImageCSSClass; imgHeader.ID = "imgH"; pnlHeader.Controls.Add(imgHeader); AddControl(pnlHeader); // Content panel Panel pnlContent = new Panel(); pnlContent.CssClass = ContentCSSClass; pnlContent.ID = "pnlC"; AddControl(pnlContent); // Add the zone CMSWebPartZone zone = AddZone(ID + "_zone", ID, pnlContent); // Add the extender CollapsiblePanelExtender cp = new CollapsiblePanelExtender(); cp.ID = "extCP"; cp.TargetControlID = pnlContent.ID; cp.ExpandControlID = pnlHeader.ID; cp.CollapseControlID = pnlHeader.ID; cp.TextLabelID = lblHeader.ID; cp.ImageControlID = imgHeader.ID; cp.ExpandDirection = (ExpandDirection.EqualsCSafe("horz", true) ? CollapsiblePanelExpandDirection.Horizontal : CollapsiblePanelExpandDirection.Vertical); // Texts string expText = ResHelper.LocalizeString(ExpandedText); string colText = ResHelper.LocalizeString(CollapsedText); cp.ExpandedText = expText; cp.CollapsedText = colText; if (String.IsNullOrEmpty(expText) && String.IsNullOrEmpty(colText)) { lblHeader.Visible = false; } // Images string expImage = ExpandedImage; string colImage = CollapsedImage; if (!String.IsNullOrEmpty(expImage) && !String.IsNullOrEmpty(colImage)) { cp.ExpandedImage = expImage; cp.CollapsedImage = colImage; } else { imgHeader.Visible = false; } // Sizes int expSize = ExpandedSize; if (expSize > 0) { cp.ExpandedSize = expSize; } int collapsed = CollapsedSize; if (collapsed >= 0) { cp.CollapsedSize = CollapsedSize; } cp.Collapsed = Collapsed; if (!IsDesign) { cp.AutoCollapse = AutoCollapse; if (AutoExpand) { cp.AutoExpand = true; // Ensure some collapsed size if (collapsed < 0) { cp.CollapsedSize = 10; } } } cp.ScrollContents = ScrollContent; // Add the extender Controls.Add(cp); if (IsDesign) { Append("</td>"); // Width resizer if (AllowDesignMode) { Append("<td class=\"HorizontalResizer\" onmousedown=\"", GetHorizontalResizerScript("env", "Width"), " return false;\"> </td>"); } Append("</tr></table>"); } Append("</div>"); FinishLayout(); }
protected override void CreateChildControls() { Controls.Clear(); _headerPanel = new Panel(); _headerPanel.ID = "headerPanel"; //_headerPanel.BackImageUrl = "~/Image/Ajax/bg-menu-main.png"; this.Controls.Add(_headerPanel); _contentPanel = new Panel(); _contentPanel.ID = "contentPanel"; this.Controls.Add(_contentPanel); _textLabel = new Label(); _textLabel.ID = "textLabel"; this.Controls.Add(_textLabel); _imageControl = new ImageButton(); _imageControl.ID = "imageControl"; this.Controls.Add(_imageControl); if (!this.DesignMode) { _collapsiblePanelExtender = new CollapsiblePanelExtender(); _collapsiblePanelExtender.ID = "collapsiblePanelExtender"; _collapsiblePanelExtender.TargetControlID = "contentPanel"; _collapsiblePanelExtender.ExpandControlID = "headerPanel"; _collapsiblePanelExtender.CollapseControlID = "headerPanel"; _collapsiblePanelExtender.TextLabelID = "textLabel"; _collapsiblePanelExtender.ImageControlID = "imageControl"; _collapsiblePanelExtender.SuppressPostBack = true; //_collapsiblePanelExtender.BehaviorID = this.ClientID + "_cpBehavior"; this.Controls.Add(_collapsiblePanelExtender); } }
/// <summary> /// load a gridview value row /// </summary> /// <param name="gvr"></param> protected void LoadGridViewValue(GridViewRow gvr) { if (gvr == null) { return; } Panel pnlComponents = (Panel)gvr.FindControl("pnlComponents"); Panel pnlViewValue = (Panel)gvr.FindControl("pnlViewValue"); if (pnlComponents == null || pnlViewValue == null) { return; } //hide the components, show the value view pnlComponents.Visible = false; pnlViewValue.Visible = true; //literal that holds status info Literal litHiddenCollValues = (Literal)gvr.FindControl("litHiddenCollValues"); litHiddenCollValues.Text = String.Empty; //button to expand/collapse Button btnShowHiddenCollValues = (Button)gvr.FindControl("btnShowHiddenCollValues"); //get the gridview data row DataRowView drv = (DataRowView)gvr.DataItem; DataRow dr = drv.Row; //get the item type is and item id long lItemTypeID = Convert.ToInt64(dr["ITEM_TYPE_ID"]); long lItemID = Convert.ToInt64(dr["ITEM_ID"]); //hide the expand/collapse if this is not a collection if (lItemTypeID != (long)k_ITEM_TYPE_ID.Collection) { AjaxControlToolkit.CollapsiblePanelExtender cpe = (AjaxControlToolkit.CollapsiblePanelExtender)gvr.FindControl("cpeHiddenCollValues"); cpe.CollapseControlID = null; cpe.Enabled = false; btnShowHiddenCollValues.Visible = false; } //if this is a collection, build a status summary list of each ite, if (lItemTypeID == (long)k_ITEM_TYPE_ID.Collection) { btnShowHiddenCollValues.Visible = true; //get all the patient item components in the collection CItemCollectionData coll = new CItemCollectionData(BaseMstr.BaseData); DataSet dsPatItemComps = null; coll.GetItemColMostRecentPatICDS(lItemID, PatientID, out dsPatItemComps); //get all the items in the collection DataSet dsColl = null; CStatus status = coll.GetItemCollectionDS(lItemID, out dsColl); //html to hold the status StringBuilder sbItemCompCollHTML = new StringBuilder(); //loop over all the items in the collection and build html foreach (DataTable tableColl in dsColl.Tables) { foreach (DataRow drColl in tableColl.Rows) { //get values from the the item in the collection (not the patient items, the collection items) long lActiveID = CDataUtils.GetDSLongValue(drColl, "ACTIVE_ID"); long lCollItemID = CDataUtils.GetDSLongValue(drColl, "ITEM_ID"); //get the item so we can check entry date against TS etc... CPatientItemDataItem patItemDI = null; CPatientItemData patData = new CPatientItemData(BaseMstr.BaseData); patData.GetMostRecentPatientItemDI(PatientID, lCollItemID, out patItemDI); //only interested in ACTIVE items if ((k_ACTIVE)lActiveID == k_ACTIVE.ACTIVE) { //image for state open the img tag sbItemCompCollHTML.Append("<img alt=\""); //sbItemCompCollHTML.Append(CDataUtils.GetDSStringValue(dr, "ITEM_LABEL")); sbItemCompCollHTML.Append(" Collection Item State Image\" width=\"10\" height=\"10\" src=\""); //get the current state of the item k_STATE_ID lItemStateID = GetItemStateID(lItemID, lCollItemID, dsPatItemComps, patItemDI); //add a red/green/yellow image based on the state of the item if (lItemStateID == k_STATE_ID.Unknown || lItemStateID == k_STATE_ID.NotSelected) { sbItemCompCollHTML.Append(Resources.Images.STATE_UNKNOWN_SMALL); } else if (lItemStateID == k_STATE_ID.Good) { sbItemCompCollHTML.Append(Resources.Images.STATE_GOOD_SMALL); } else { sbItemCompCollHTML.Append(Resources.Images.STATE_BAD_SMALL); } //close out the image tag sbItemCompCollHTML.Append("\" />"); //label, trunc so it displays nicely string strLabel = CDataUtils.GetDSStringValue(drColl, "ITEM_LABEL"); if (strLabel.Length > 28) { strLabel = strLabel.Substring(0, 28) + "..."; } //add the label after the image sbItemCompCollHTML.Append(strLabel); //add a line break sbItemCompCollHTML.Append("<br>"); } } } //set the literal equal to the generated html litHiddenCollValues.Text = sbItemCompCollHTML.ToString(); //enable the show/hide button btnShowHiddenCollValues.Enabled = (String.IsNullOrEmpty(litHiddenCollValues.Text)) ? false : btnShowHiddenCollValues.Enabled; } }
public void buildCategoryPanel(string title, string category, string tag, bool collapsed, bool isOdd, bool collapsible, bool titleBold, string summaryText, Alerts alerts) { Panel p = new Panel(); p.ID = "Panel_" + tag + "_Header"; p.CssClass = "collapsePanelHeader"; p.Height = 30; if (isOdd) p.BackColor = ColorTranslator.FromHtml("#88EEBB"); else p.BackColor = ColorTranslator.FromHtml("#EEEEEE"); Panel p1 = new Panel(); p1.Style["padding"] = "5px"; p1.Style["cursor"] = "pointer"; p1.Style["vertical-align"] = "middle"; if (collapsible) { ImageButton ib = new ImageButton(); ib.Style["float"] = "left"; ib.ID = "I_" + tag; ib.ImageUrl = "~/img/expand_blue.jpg"; ib.AlternateText = "(...)"; p1.Controls.Add(ib); Label l2 = new Label(); l2.ID = "L_" + tag; l2.Style["float"] = "left"; l2.Style["margin-left"] = "5px"; p1.Controls.Add(l2); } else { System.Web.UI.WebControls.Image ib = new System.Web.UI.WebControls.Image(); ib.Style["float"] = "left"; ib.ImageUrl = "~/img/lookingglass.png"; p1.Controls.Add(ib); } Label l1 = new Label(); l1.Style["float"] = "left"; l1.Style["margin-left"] = "5px"; l1.ForeColor = Color.Black; l1.Text = title; l1.Font.Bold = titleBold; p1.Controls.Add(l1); System.Web.UI.WebControls.Image ai = buildAlertImage(alerts[category].Level); ai.Style["float"] = "right"; p1.Controls.Add(ai); p.Controls.Add(p1); phMain.Controls.Add(p); p = new Panel(); p.ID = "Panel_" + tag + "_Content"; p.CssClass = "collapsePanel"; p.Height = 0; Table t = new Table(); t.Style["border-width"] = "0px"; TableRow r = new TableRow(); TableCell tc = new TableCell(); Label tl = new Label(); tl.Text = summaryText; tc.Controls.Add(tl); r.Cells.Add(tc); t.Rows.Add(r); r = new TableRow(); tc = new TableCell(); tc.Controls.Add(buildChart(category)); r.Cells.Add(tc); t.Rows.Add(r); //r = new TableRow(); //tc = new TableCell(); //tc.Style["padding"] = "0px"; //ChartArea pchart = buildPerformanceChart(category, 900); //tc.Controls.Add(pchart); //r.Cells.Add(tc); //t.Rows.Add(r); p.Controls.Add(t); phMain.Controls.Add(p); Panel space = new Panel(); space.Height = 15; phMain.Controls.Add(space); CollapsiblePanelExtender cep = new CollapsiblePanelExtender(); cep.ID = tag + "_CPE"; cep.TargetControlID = "Panel_" + tag + "_Content"; cep.SuppressPostBack = true; cep.Collapsed = collapsible && collapsed; if (collapsible) { cep.ExpandControlID = "Panel_" + tag + "_Header"; cep.CollapseControlID = "Panel_" + tag + "_Header"; cep.TextLabelID = "L_" + tag; cep.ImageControlID = "I_" + tag; cep.ExpandedImage = "~/img/collapse_blue.jpg"; cep.CollapsedImage = "~/img/expand_blue.jpg"; cep.CollapsedText = "[+]"; cep.ExpandedText = "[-]"; } phMain.Controls.Add(cep); }