Esempio n. 1
0
        /// <summary>
        /// Create Extender as a child control
        /// </summary>
        private void AddChildControls()
        {
            // Look Behind - do not render in Design Mode
            if (!this.DesignMode)
            {
                this.lookBehindListView              = new MedicationListView(this.Items);
                this.lookBehindListView.ID           = this.ID + "_LookBehind";
                this.lookBehindListView.Mode         = MedicationListViewMode.LookBehind;
                this.lookBehindListView.ShowGraphics = this.ShowGraphics;
                this.lookBehindListView.Style.Add(HtmlTextWriterStyle.Display, this.ShowLookAheadBehind ? "" : "none");
                this.Controls.Add(this.lookBehindListView);
                this.medicationGridExtender.LookBehindControlID = this.lookBehindListView.ClientID;
            }

            // Grid Contents
            MedicationGridHeader medicationGridHeader = new MedicationGridHeader();

            medicationGridHeader.ID         = this.ID + "_Header";
            medicationGridHeader.ParentGrid = this;

            this.Controls.Add(medicationGridHeader);

            // Medication Lines - do not render in DesignMode
            if (!this.DesignMode)
            {
                for (int index = 0; index < this.Items.Count; index++)
                {
                    Medication     medication = this.Items[index];
                    MedicationLine line       = new MedicationLine(medication);
                    line.ID = string.Concat(this.ID, "_medLine", index.ToString(CultureInfo.CurrentUICulture));
                    line.EnableViewState   = false;
                    line.EnableExtender    = false;
                    line.ShowDosageDetails = this.ShowDosageDetails;
                    line.ShowGraphics      = this.ShowGraphics;
                    line.ShowReason        = this.ShowReason;
                    line.ShowStatus        = this.ShowStatus;
                    line.RenderTable       = false;
                    line.ShowStatusDate    = this.ShowStatusDate;
                    line.SimpleMode        = this.SimpleMode;
                    line.CssClass          = "nhscui_mg_ml";
                    line.ToolTip           = medication.MedicationTooltip;
                    this.Controls.Add(line);
                }
            }

            MedicationGridFooter medicationGridFooter = new MedicationGridFooter();

            medicationGridFooter.ID = this.ID + "_Footer";
            this.Controls.Add(medicationGridFooter);

            // Look Ahead - not render Design Time
            if (!this.DesignMode)
            {
                this.lookAheadListView              = new MedicationListView(this.Items);
                this.lookAheadListView.ID           = this.ID + "_LookAhead";
                this.lookAheadListView.ShowGraphics = this.ShowGraphics;
                this.lookAheadListView.Style.Add(HtmlTextWriterStyle.Display, this.ShowLookAheadBehind ? "" : "none");
                this.lookAheadListView.Mode = MedicationListViewMode.LookAhead;
                this.Controls.Add(this.lookAheadListView);
                this.medicationGridExtender.LookAheadControlID = this.lookAheadListView.ClientID;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Render Contents
        /// </summary>
        /// <param name="writer">HtmlTextWriter to render to</param>
        protected override void Render(HtmlTextWriter writer)
        {
            // Render directly to the writer for performance reasons. This should also make the control
            // easier to port to pure client-side rendering if required

            // Scroll Table
            writer.WriteBeginTag(HtmlTextWriterTag.Table.ToString());
            writer.WriteAttribute("id", this.parentGrid.ClientID + "_scrollTable");
            writer.WriteAttribute("cellspacing", "0");
            writer.WriteAttribute("cellpadding", "0");
            writer.WriteAttribute("border", "0");
            writer.WriteAttribute("class", "nhscui_mg_scroll_table");
            if (!this.DesignMode)
            {
                writer.Write("style=\"");
                writer.WriteStyleAttribute(HtmlTextWriterStyle.Visibility.ToString(), "hidden");
                writer.WriteStyleAttribute(HtmlTextWriterStyle.Width.ToString(), "100%");
                writer.Write(HtmlTextWriter.DoubleQuoteChar);
            }

            writer.Write(HtmlTextWriter.TagRightChar);

            // Header
            writer.WriteFullBeginTag(HtmlTextWriterTag.Tr.ToString());
            writer.WriteFullBeginTag(HtmlTextWriterTag.Td.ToString());
            writer.WriteBeginTag(HtmlTextWriterTag.Div.ToString());
            writer.WriteAttribute("class", "nhscui_mg_header");

            writer.Write("style=\"");
            writer.WriteStyleAttribute("width", this.ParentGrid.Width.ToString());
            writer.Write(HtmlTextWriter.DoubleQuoteChar);

            writer.Write(HtmlTextWriter.TagRightChar);

            writer.WriteBeginTag(HtmlTextWriterTag.Table.ToString());
            writer.WriteAttribute("id", "headerTable");
            writer.WriteAttribute("class", "nhscui_mg_header_table");
            writer.WriteAttribute("cellspacing", "0");
            writer.WriteAttribute("cellpadding", "0");
            writer.WriteAttribute("border", "0");

            // Apply BorderCollapse override. This Style attribute will be removed client-side
            // This is to resolve an IE Issue where collapsed borders are not hidden on render
            writer.Write("style=\"");
            if (!string.IsNullOrEmpty(this.ParentGrid.Width.ToString()))
            {
                writer.WriteStyleAttribute("width", "100%");
            }

            writer.WriteStyleAttribute("border-collapse", "separate");
            writer.Write(HtmlTextWriter.DoubleQuoteChar);
            writer.Write(HtmlTextWriter.TagRightChar);

            writer.WriteFullBeginTag(HtmlTextWriterTag.Tr.ToString());

            // StartDate Column Header
            MedicationGridHeader.WriteColumnHeader(writer, "nhscui_mg_header_startdate", this.parentGrid.StartDateColumnWidth, this.parentGrid.StartDateColumnHeaderText, true, 1);

            // DrugDetails Column Header
            MedicationGridHeader.WriteColumnHeader(writer, "nhscui_mg_header_drugdetails", this.parentGrid.DrugDetailsColumnWidth, this.parentGrid.DrugDetailsColumnHeaderText, true, 3);

            // Reason Column Header
            MedicationGridHeader.WriteColumnHeader(writer, "nhscui_mg_header_reason", this.parentGrid.ReasonColumnWidth, this.parentGrid.ReasonColumnHeaderText, this.parentGrid.ShowReason, 1);

            // Status Column Header
            MedicationGridHeader.WriteColumnHeader(writer, "nhscui_mg_header_status", this.parentGrid.StatusColumnWidth, this.parentGrid.StatusColumnHeaderText, this.parentGrid.ShowStatus || this.parentGrid.ShowStatusDate, 1);

            // Header End Tags
            writer.WriteEndTag(HtmlTextWriterTag.Table.ToString());
            writer.WriteEndTag(HtmlTextWriterTag.Div.ToString());
            writer.WriteEndTag(HtmlTextWriterTag.Td.ToString());
            writer.WriteEndTag(HtmlTextWriterTag.Tr.ToString());

            // Body
            writer.WriteFullBeginTag(HtmlTextWriterTag.Tr.ToString());
            writer.WriteFullBeginTag(HtmlTextWriterTag.Td.ToString());
            writer.WriteBeginTag(HtmlTextWriterTag.Div.ToString());
            writer.WriteAttribute("id", this.parentGrid.ClientID + "_bodyDiv");
            writer.WriteAttribute("class", "nhscui_mg_body");
            writer.Write(" style=\"");
            writer.WriteStyleAttribute("overflow-x", "hidden");

            // For initial rendering hide y overflow. This will be set where applicable in the behavior.
            writer.WriteStyleAttribute("overflow-y", "hidden");
            writer.WriteStyleAttribute(HtmlTextWriterStyle.Height.ToString(), "0");
            writer.Write(HtmlTextWriter.DoubleQuoteChar);
            writer.Write(HtmlTextWriter.TagRightChar);

            // Body Table
            writer.WriteBeginTag(HtmlTextWriterTag.Table.ToString());
            writer.WriteAttribute("id", this.parentGrid.ClientID + "_bodyTable");
            writer.WriteAttribute("cellspacing", "0");
            writer.WriteAttribute("cellpadding", "0");
            writer.WriteAttribute("class", "nhscui_mg_body_table");
            writer.WriteAttribute("border", "0");
            writer.WriteAttribute("onselectstart", "return false;");

            // Apply BorderCollapse override. This Style attribute will be removed client-side
            // This is to resolve an IE Issue where collapsed borders are not hidden on render
            writer.Write("style=\"");
            writer.WriteStyleAttribute("-moz-user-select", "none");
            writer.WriteStyleAttribute("border-collapse", "separate");
            writer.Write(HtmlTextWriter.DoubleQuoteChar);
            writer.Write(HtmlTextWriter.TagRightChar);
        }