//private void UnitReUnder_SelectValueChanged(object sender, EventArgs e) //{ // XComboBoxUnit render = sender as XComboBoxUnit; // if (this.ListDo != null && this.ListDo.Length > 0 && (this.ListDo[0] is OrTplNItmDO)) // { // (this.ListDo[0] as OrTplNItmDO).Id_unit_med = render.SelectedItem.ToString(); // (this.ListDo[0] as OrTplNItmDO).Ortplnitm_unit_name = render.ValueUnit; // } //} //private void ComBoxUnitReUnder_ValueTextChanged(object sender, EventArgs e) //{ // XComboBoxUnit render = sender as XComboBoxUnit; // if (this.XComboBoxUnitList != null && this.XComboBoxUnitList.Count > 0 && this.XComboBoxUnitList.Count == this.ListDo.Length) // { // for (int i = 0; i < this.XComboBoxUnitList.Count;i++ ) // { // if (this.XComboBoxUnitList[i] == render && this.ListDo[i] is OrTplNItmDO) // { // (this.ListDo[i] as OrTplNItmDO).Quan_med = Convert.ToDouble(render.ValueText); // break; // } // } // } //} //private void ComBoxUnitReUnder_SelectValueChanged(object sender, EventArgs e) //{ // XComboBoxUnit render = sender as XComboBoxUnit; // if (this.XComboBoxUnitList != null && this.XComboBoxUnitList.Count > 0 && this.XComboBoxUnitList.Count == this.ListDo.Length) // { // for (int i = 0; i < this.XComboBoxUnitList.Count; i++) // { // if (this.XComboBoxUnitList[i] == render && this.ListDo[i] is OrTplNItmDO) // { // (this.ListDo[i] as OrTplNItmDO).Id_unit_med = render.ValueCode; // break; // } // } // } //} #endregion protected void RecLocat() { int x = this.Location.X + 4; int y = this.Location.Y; int boundRight; int boundBottom; int boundWidth; if (isRadio) { this.radio.Location = new Point(x, y); boundRight = this.radio.Bound.Right; boundBottom = this.radio.Bound.Bottom; boundWidth = this.radio.Bound.Width; } else { this.check.Location = new Point(x, y); boundRight = this.check.Bound.Right; boundBottom = this.check.Bound.Bottom; boundWidth = this.check.Bound.Width; } if (this.hasUnit && freUnitRender != null) { freUnitRender.Location = new Point(this.Bound.Right - freUnitRender.Size.Width - 10, this.Bound.Top); } int startY = y; UserRender Tmprender = null; foreach (UserRender render in this.RenderList) { if (render is Brieflabel) { render.Location = new Point(boundRight, startY); startY = render.Bound.Bottom; Tmprender = render; } if (Tmprender is Brieflabel && render is XComboBox) { if (this.IsParent && !this.IsEnabled && this.disableImage != null) { render.Location = new Point(Tmprender.Bound.Right + boundWidth + 8 + this.disableImage.Width, Tmprender.Bound.Top); } else { render.Location = new Point(Tmprender.Bound.Right + boundWidth + 4, Tmprender.Bound.Top); } } if (Tmprender is Brieflabel && render is XUnitTextBoxMul) { if (this.IsParent && !this.IsEnabled && this.disableImage != null) { render.Location = new Point(Tmprender.Bound.Right + 4 + this.disableImage.Width, Tmprender.Bound.Top); } else { render.Location = new Point(Tmprender.Bound.Right, Tmprender.Bound.Top); } } if (Tmprender is Brieflabel && render is XOrderUnitFreqGroup) { render.Location = new Point(Tmprender.Bound.Left, Tmprender.Bound.Bottom + 6); startY = render.Bound.Bottom; } if (render is OrderRender) { render.Location = new Point(boundRight, startY + 6); startY = render.Bound.Bottom; } } //如果是单独使用并且有下边的子note if (this.noteList != null && this.noteList.Count > 0) { Brieflabel pre = null; foreach (Brieflabel label in this.noteList) { if (pre == null) { label.Location = new Point(boundRight + 18, startY); } else { label.Location = new Point(boundRight + 18, startY); } pre = label; startY = pre.Bound.Bottom; } } this.Size = new Size(this.Size.Width, startY - this.Location.Y); }
protected void Load() { this.RenderList = new List <UserRender>(); if (this.ListDo != null && this.ListDo.Length > 0) { if (this.ListDo.Length > 0) { OrderRender TMP = new OrderRender(this.parent); #region Ui_flag=1 套 if ((ObjDo as NewOrderTemplateDTO).Ui_flag == "1") { lable = new Brieflabel(); lable.ForeColor = Color.FromArgb(0, 153, 229); //lable.Size = new Size(141, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (ObjDo as NewOrderTemplateDTO).Name; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 141) { lable.Size = new Size(141, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } this.lablelist.Add(lable); this.AddRender(lable); this.RenderList.Add(lable); OrderRenderList = new List <OrderRender>(); foreach (OrTplNItmDO Second in this.ListDo) { OrderRender ThreadRender = new OrderRender(this.parent); ThreadRender.ObjDo = Second; ThreadRender.EditFlag = Second.Fg_edit.Value; ThreadRender.Id = Second.Id_ortmplitm; ThreadRender.Size = new Size(260, 24); ThreadRender.parentOrderRender = this; ThreadRender.isparent = false; OrderRenderList.Add(ThreadRender); this.AddRender(ThreadRender); this.RenderList.Add(ThreadRender); TMP = ThreadRender; } } #endregion #region 2:(多药品)药品 else if ((ObjDo as NewOrderTemplateDTO).Ui_flag == "2") { lable = new Brieflabel(); lable.ForeColor = Color.FromArgb(0, 153, 229); //lable.Size = new System.Drawing.Size(141, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (ObjDo as NewOrderTemplateDTO).Name; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 141) { lable.Size = new Size(141, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } XComboBox freqnc = new XComboBox(this.parent); freqnc.Location = new Point(lable.Bound.Right + 5, lable.Bound.Top - 3); //freqnc.DataSource = (ObjDo as NewOrderTemplateDTO).getFreqdefdo(); freqnc.ValueText = (this.ListDo[0] as OrTplNItmDO).Ortplnitm_srv_name; freqnc.Size = new System.Drawing.Size(92, 24); freqnc.ValueTextChanged += new EventHandler(freqnc_ValueTextChanged); this.lablelist.Add(lable); this.AddRender(lable); this.AddRender(freqnc); this.RenderList.Add(lable); this.RenderList.Add(freqnc); OrderRenderList = new List <OrderRender>(); XUnitTextBoxList = new List <XUnitTextBoxMul>(); foreach (OrTplNItmDO Second in this.ListDo) { OrderRender ThreadRender = new OrderRender(this.parent); ThreadRender.ObjDo = Second; ThreadRender.Id = Second.Id_ortmplitm; ThreadRender.Size = new Size(260, 24); ThreadRender.parentOrderRender = this; ThreadRender.isparent = false; this.AddRender(ThreadRender); this.RenderList.Add(ThreadRender); OrderRenderList.Add(ThreadRender); //XComboBoxUnitList = new List<XComboBoxUnit>(); //XComboBoxUnit UnitReUnder = new XComboBoxUnit(this.parent); //UnitReUnder.ValueText = Second.Quan_med.ToString(); //UnitReUnder.DataSource = (ObjDo as NewOrderTemplateDTO).getmeasList(); //UnitReUnder.ValueUnit = Second.Id_unit_med; //ThreadRender.Check = false; //UnitReUnder.Location = new Point(ThreadRender.Bound.Right, ThreadRender.Bound.Top); //UnitReUnder.ValueTextChanged += new EventHandler(ComBoxUnitReUnder_ValueTextChanged); //UnitReUnder.SelectValueChanged += new EventHandler(ComBoxUnitReUnder_SelectValueChanged); //ThreadRender.AddRender(UnitReUnder); //ThreadRender.RenderList.Add(UnitReUnder); //XComboBoxUnitList.Add(UnitReUnder); XUnitTextBoxMul UnitTextBoxUnder = new XUnitTextBoxMul(); UnitTextBoxUnder.Size = new System.Drawing.Size(92, 24); UnitTextBoxUnder.IsNumber = true; UnitTextBoxUnder.NullFlag = false; UnitTextBoxUnder.MinValue = 0; UnitTextBoxUnder.MaxLength = 4; UnitTextBoxUnder.ValueText = Second.Quan_med.ToString(); UnitTextBoxUnder.UnitText = Second.Ortplnitm_unit_name; ThreadRender.Check = false; UnitTextBoxUnder.Location = new Point(ThreadRender.Bound.Right, ThreadRender.Bound.Top); UnitTextBoxUnder.ValueTextChanged += new EventHandler(UnitTextBoxUnder_ValueTextChanged); ThreadRender.AddRender(UnitTextBoxUnder); ThreadRender.RenderList.Add(UnitTextBoxUnder); XUnitTextBoxList.Add(UnitTextBoxUnder); TMP = ThreadRender; } } #endregion #region 5 草药 else if ((ObjDo as NewOrderTemplateDTO).Ui_flag == "5") { lable = new Brieflabel(); lable.ForeColor = Color.FromArgb(0, 153, 229); //lable.Size = new System.Drawing.Size(141, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (ObjDo as NewOrderTemplateDTO).Name; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 141) { lable.Size = new Size(141, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } // XComboBox freqnc = new XComboBox(this.parent); //freqnc.Location = new Point(lable.Bound.Right + 5, lable.Bound.Top - 3); //freqnc.DataSource = (ObjDo as NewOrderTemplateDTO).getFreqdefdo(); //freqnc.ValueText = (this.ListDo[0] as OrTplNItmDO).Ortplnitm_srv_name; //freqnc.Size = new System.Drawing.Size(92, 24); //freqnc.ValueTextChanged += new EventHandler(freqnc_ValueTextChanged); this.lablelist.Add(lable); this.AddRender(lable); // this.AddRender(freqnc); this.RenderList.Add(lable); //this.RenderList.Add(freqnc); OrderRenderList = new List <OrderRender>(); XUnitTextBoxList = new List <XUnitTextBoxMul>(); foreach (OrTplNItmDO Second in this.ListDo) { OrderRender ThreadRender = new OrderRender(this.parent); ThreadRender.ObjDo = Second; ThreadRender.Id = Second.Id_ortmplitm; ThreadRender.Size = new Size(260, 24); ThreadRender.parentOrderRender = this; ThreadRender.isparent = false; this.AddRender(ThreadRender); this.RenderList.Add(ThreadRender); OrderRenderList.Add(ThreadRender); //XComboBoxUnitList = new List<XComboBoxUnit>(); //XComboBoxUnit UnitReUnder = new XComboBoxUnit(this.parent); //UnitReUnder.ValueText = Second.Quan_med.ToString(); //UnitReUnder.DataSource = (ObjDo as NewOrderTemplateDTO).getmeasList(); //UnitReUnder.ValueUnit = Second.Id_unit_med; //ThreadRender.Check = false; //UnitReUnder.Location = new Point(ThreadRender.Bound.Right, ThreadRender.Bound.Top); //UnitReUnder.ValueTextChanged += new EventHandler(ComBoxUnitReUnder_ValueTextChanged); //UnitReUnder.SelectValueChanged += new EventHandler(ComBoxUnitReUnder_SelectValueChanged); //ThreadRender.AddRender(UnitReUnder); //ThreadRender.RenderList.Add(UnitReUnder); //XComboBoxUnitList.Add(UnitReUnder); XUnitTextBoxMul UnitTextBoxUnder = new XUnitTextBoxMul(); UnitTextBoxUnder.Size = new System.Drawing.Size(92, 24); UnitTextBoxUnder.IsNumber = true; UnitTextBoxUnder.NullFlag = false; UnitTextBoxUnder.MinValue = 0; UnitTextBoxUnder.MaxLength = 4; UnitTextBoxUnder.ValueText = Second.Quan_med.ToString(); UnitTextBoxUnder.UnitText = Second.Ortplnitm_unit_name; ThreadRender.Check = false; UnitTextBoxUnder.Location = new Point(ThreadRender.Bound.Right, ThreadRender.Bound.Top); UnitTextBoxUnder.ValueTextChanged += new EventHandler(UnitTextBoxUnder_ValueTextChanged); ThreadRender.AddRender(UnitTextBoxUnder); ThreadRender.RenderList.Add(UnitTextBoxUnder); XUnitTextBoxList.Add(UnitTextBoxUnder); TMP = ThreadRender; } } #endregion #region 3:(单一药品),4其他 else if ((ObjDo as NewOrderTemplateDTO).Ui_flag == "3") { if (this.ListDo[0] is OrTplNItmDO) { this.isparent = false; this.Id = (this.ListDo[0] as OrTplNItmDO).Id_ortmplitm; lable = new Brieflabel(); lable.ForeColor = Color.FromArgb(0, 153, 229); //lable.Size = new System.Drawing.Size(141, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (this.ListDo[0] as OrTplNItmDO).Ortplnitm_srv_name; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 141) { lable.Size = new Size(141, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } lablelist.Add(lable); this.AddRender(lable); this.RenderList.Add(lable); XOrderUnitFreqGroup unitFreqGroup = new XOrderUnitFreqGroup(this.parent, false); this.Check = false; unitFreqGroup.ValueText = (this.ListDo[0] as OrTplNItmDO).Quan_med.ToString(); // unitFreqGroup.UnitDataSource = (ObjDo as NewOrderTemplateDTO).getmeasList(); unitFreqGroup.UnitValueText = (this.ListDo[0] as OrTplNItmDO).Ortplnitm_unit_name; unitFreqGroup.FreqncDataSource = (ObjDo as NewOrderTemplateDTO).getFreqdefdo(); unitFreqGroup.FreqncValueText = (this.ListDo[0] as OrTplNItmDO).Ortplnitm_freq_name; // unitFreqGroup.UnitReUnderSelectValueChanged += new EventHandler(UnitReUnder_SelectValueChanged); unitFreqGroup.UnitTextBoxValueTextChanged += new EventHandler(unitFreqGroup_UnitTextBoxValueTextChanged); unitFreqGroup.FreqncRenderValueTextChanged += new EventHandler(FreqncRender_ValueTextChanged); this.AddRender(unitFreqGroup); this.RenderList.Add(unitFreqGroup); } } else { if (this.ListDo[0] is OrTplNItmDO) { this.isparent = false; this.Id = (this.ListDo[0] as OrTplNItmDO).Id_ortmplitm; lable = new Brieflabel(); //lable.Size = new System.Drawing.Size(141, 24); lable.ForeColor = Color.FromArgb(0, 153, 229); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (this.ListDo[0] as OrTplNItmDO).Ortplnitm_srv_name; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 141) { lable.Size = new Size(141, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } lablelist.Add(lable); this.AddRender(lable); this.RenderList.Add(lable); } } #endregion this.LastBottm = TMP.Bound.Bottom; } } #region 单一使用没有子元素 else if (this.ObjDo != null) { if (this.ObjDo is MedSrvDO) { lable = new Brieflabel(); //lable.Size = new System.Drawing.Size(171, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (this.ObjDo as MedSrvDO).Name; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 171) { lable.Size = new Size(171, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } lablelist.Add(lable); this.AddRender(lable); this.RenderList.Add(lable); } if (this.ObjDo is OrTplItmDtDO) { lable = new Brieflabel(); //lable.Size = new System.Drawing.Size(141, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (this.ObjDo as OrTplItmDtDO).Name_srv; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 141) { lable.Size = new Size(141, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } lablelist.Add(lable); this.AddRender(lable); this.RenderList.Add(lable); } if (this.ObjDo is SrvortplitemAggDO) { lable = new Brieflabel(); //lable.Size = new System.Drawing.Size(141, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (this.ObjDo as SrvortplitemAggDO).getParentDO().Name_srv; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 141) { lable.Size = new Size(141, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } lablelist.Add(lable); this.AddRender(lable); this.RenderList.Add(lable); } if (this.ObjDo is RegularOrRelSrvDO) { lable = new Brieflabel(); //lable.Size = new System.Drawing.Size(171, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (this.ObjDo as RegularOrRelSrvDO).Name_srv; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 171) { lable.Size = new Size(171, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } lablelist.Add(lable); this.AddRender(lable); this.RenderList.Add(lable); } if (this.ObjDo is OrTplNItmDO) { lable = new Brieflabel(); //lable.Size = new System.Drawing.Size(141, 24); //lable.Topspace = 4; lable.Font = new Font("微软雅黑", 12, GraphicsUnit.Pixel); lable.Text = (this.ObjDo as OrTplNItmDO).Ortplnitm_srv_name; if (TextRenderer.MeasureText(lable.Text, lable.Font).Width > 141) { lable.Size = new Size(141, 24); } else { lable.Size = new Size(TextRenderer.MeasureText(lable.Text, lable.Font).Width, 24); } lablelist.Add(lable); this.AddRender(lable); this.RenderList.Add(lable); } #endregion } RecLocat(); }