Inheritance: ExtenderControlBase
Exemplo n.º 1
0
    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;\">&nbsp;</td>");
            }

            Append("</tr></table>");
        }

        Append("</div>");

        FinishLayout();
    }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
    /// <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;
        }
    }
Exemplo n.º 5
0
        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);
        }