/// <summary> /// Отрисовка контрола /// </summary> /// <param name="output"></param> public override void RenderControl(HtmlTextWriter output) { var currentAsm = Assembly.GetExecutingAssembly(); var linkedDocContent = currentAsm.GetManifestResourceStream("Kesco.Lib.Web.DBSelect.V4.LinkedDoc.LinkedDocContent.htm"); if (linkedDocContent == null) { return; } var reader = new StreamReader(linkedDocContent); var sourceContent = reader.ReadToEnd(); sourceContent = sourceContent.Replace(_constIdTag, ID); if (_currentTypeSelectCtrl != null) { if (V4Page.V4IsPostBack) { LoadDropDownListData(); } using (TextWriter currentTypeSelectTextWriter = new StringWriter()) { var currentWriter = new HtmlTextWriter(currentTypeSelectTextWriter); _currentTypeSelectCtrlText.RenderControl(currentWriter); _currentTypeSelectCtrl.RenderControl(currentWriter); sourceContent = sourceContent.Replace(_constCtrlTypeSelect, currentTypeSelectTextWriter.ToString()); } } using (TextWriter currentRadioTextWriter = new StringWriter()) { var currentWriter = new HtmlTextWriter(currentRadioTextWriter); _currentRadioCtrl.RenderControl(currentWriter); sourceContent = sourceContent.Replace(_constCtrlRadio, currentRadioTextWriter.ToString()); } if (_currentDbSelectCtrl != null) { using (TextWriter currentDBSelectTextWriter = new StringWriter()) { var currentWriter = new HtmlTextWriter(currentDBSelectTextWriter); _currentDbSelectCtrl.RenderControl(currentWriter); sourceContent = sourceContent.Replace(_constCtrlDBSelect, currentDBSelectTextWriter.ToString()); } } sourceContent = sourceContent.Replace("\n", "").Replace("\r", "").Replace("\t", ""); output.Write(sourceContent); RefreshData(); }
/// <summary> /// Отрисовка контрола /// </summary> /// <param name="w">Поток</param> protected override void RenderControlBody(TextWriter w) { if (IsReadOnly) { w.Write(Resx.GetString("lFrom") + " " + HttpUtility.HtmlEncode(ValueFrom) + " " + Resx.GetString("lTo") + " " + HttpUtility.HtmlEncode(ValueTo)); } else { var isDay = InitPeriod(ValuePeriod); if (!IsOnlyPeriod) { var period = new DropDownList { HtmlID = ID + "Select", ID = ID + "Select", Width = Unit.Pixel(80), V4Page = V4Page, ValueField = "Name", KeyField = "Id", TabIndex = TabIndex, NextControl = NextControl, IsRequired = IsRequired, IsReadOnly = true, Help = Help }; FillDropDownList(period); period.Value = ValuePeriod; period.Changed += PeriodChanged; V4Page.V4Controls.Add(period); w.Write("<table cellspacing=\"0\" cellpadding=\"0\" class='{0}'>", CSSClass); w.Write("<tr>"); w.Write("<td style=\"padding-bottom:3px\">"); w.Write(Resx.GetString("lPeriod") + ": </td><td Width='{0}px' style=\"padding-top:2px\">", period.Width.Value); period.RenderControl(w); w.Write("</td><td>"); if (ValuePeriod == ((int)PeriodsEnum.Custom).ToString(CultureInfo.InvariantCulture)) { w.Write( @"<img id=""periodTimePicker_datePrev_{0}"" src=""/STYLES/PagePrev.gif"" help=""{1}"" onclick=""return false;"" onmouseover=""return false;"" />", ID, HttpUtility.HtmlEncode(Help)); } else { w.Write( @"<img onclick=""cmdasync('ctrl', '{0}' ,'cmd', 'prev');"" onmouseover=""v4ptp_mouseOver();"" id=""periodTimePicker_datePrev_{0}"" src=""/STYLES/PagePrevActive.gif"" tabindex=""{1}"" help=""{2}"" />", ID, TabIndex, HttpUtility.HtmlEncode(Help)); } w.Write("</td>"); } else { w.Write("<table cellspacing=\"0\" cellpadding=\"0\" class='{0}'>", CSSClass); w.Write("<tr>"); } w.Write("<td id=\"" + ID + "lFrom\" style=\"padding-bottom:3px\">"); w.Write(Resx.GetString("lFrom") + " "); w.Write("</td><td>"); var dpFrom = new DatePicker { HtmlID = ID + "From", ID = ID + "From", V4Page = V4Page, IsDisabled = IsDisabled, TabIndex = TabIndex, Value = ValueFrom, Help = Help }; var dpTo = new DatePicker { HtmlID = ID + "To", ID = ID + "To", V4Page = V4Page, IsDisabled = IsDisabled, TabIndex = TabIndex, NextControl = NextControl, Value = ValueTo, Help = Help }; dpFrom.NextControl = dpTo.ID; dpFrom.Changed += DpFromChanged; V4Page.V4Controls.Add(dpFrom); dpFrom.RenderControl(w); w.Write("</td>"); w.Write("<td id=\"" + ID + "lTo\" style=\"padding-bottom:3px\"> " + Resx.GetString("lTo") + " </td>"); w.Write("<td id=\"" + ID + "dpTo\">"); dpTo.Changed += DpToChanged; V4Page.V4Controls.Add(dpTo); dpTo.RenderControl(w); w.Write("</td>"); if (!IsOnlyPeriod) { w.Write("<td>"); if (ValuePeriod == ((int)PeriodsEnum.Custom).ToString(CultureInfo.InvariantCulture)) { w.Write( @"<img id=""periodTimePicker_dateNext_{0}"" src=""/STYLES/PageNext.gif"" help=""{1}"" onclick=""return false;"" onmouseover=""return false;"" />", ID, HttpUtility.HtmlEncode(Help)); } else { w.Write( @"<img onclick=""cmdasync('ctrl', '{0}' ,'cmd', 'next');"" onmouseover=""v4ptp_mouseOver();"" id=""periodTimePicker_dateNext_{0}"" src=""/STYLES/PageNextActive.gif"" tabindex=""{1}"" help=""{2}"" />", ID, TabIndex, HttpUtility.HtmlEncode(Help)); } w.Write("</td>"); } w.Write("</tr></table>"); if (isDay) { w.Write("<script type=\"text/javascript\">hi('" + ID + "lFrom');hi('" + ID + "lTo');hi('" + ID + "dpTo');</script>"); } } }