예제 #1
0
        //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);
        }
예제 #2
0
        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();
        }