예제 #1
0
        protected override void initCellControlFormat(XBaseUserRender ctrl)
        {
            base.initCellControlFormat(ctrl);
            XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;

            xComboBoxUnit.MaxInputNumber = 99999999.9999; // 最大长度8位整型
        }
예제 #2
0
        protected override void editorWillAppear(object rowDataSource, XBaseUserRender ctrl)
        {
            EmsOrDrug drug = rowDataSource as EmsOrDrug;

            if (null != drug)
            {
                XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
                string        sd_mmbind_op  = drug.Sd_mmbind_op;
                //开立绑定可以编辑
                xComboBoxUnit.UnitIsEnable = (!string.IsNullOrEmpty(sd_mmbind_op) && sd_mmbind_op.Equals("0")) ? true : false;
                //if (xComboBoxUnit.ValueUnit.Length > 0)
                //{
                Dictionary <object, string> items = new Dictionary <object, string>();
                items.Add(drug.Id_unit_med + "," + "1", drug.Name_unit_med);
                if (drug.Id_unit_base != null && !drug.Id_unit_base.Equals(drug.Id_unit_med))
                {
                    items.Add(drug.Id_unit_base + "," + drug.Factor_mb, drug.Name_unit_base);
                }

                xComboBoxUnit.DataSource = items;
                //}
                xComboBoxUnit.ValueText = (drug.Quan_medu_virtual == null ? null : drug.Quan_medu_virtual.ToString());
                xComboBoxUnit.ValueUnit = (drug.Name_unit_medu_virtual == null ? "" : drug.Name_unit_medu_virtual);
                // 自定义控件需要传递编辑完成后该列的错误信息
                setColumnForeColor(drug, ctrl);
            }
        }
예제 #3
0
        protected override void editorWillAppear(object rowDataSource, XBaseUserRender ctrl)
        {
            base.editorWillAppear(rowDataSource, ctrl);
            // 获取总量编辑模式:1,可以编辑;0,不可以编辑
            var sysParamValue = SysParamUtils.getSysParam().SYS_PARAM_OpTotalQuanEditControlMode.DeptParam;

            (ctrl as XComboBoxUnit).TextBoxIsEnable = (1 == Convert.ToInt32(sysParamValue));
        }
예제 #4
0
        protected override void initCellControlFormat(XBaseUserRender ctrl)
        {
            XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;

            xComboBoxUnit.ComboboxWidthPercent = 0.38;
            xComboBoxUnit.TextAlignment        = System.Windows.Forms.HorizontalAlignment.Right;
            xComboBoxUnit.UnitIsEnable         = false; // 禁用单位编辑
        }
예제 #5
0
        protected override void editorWillAppear(object rowDataSource, XBaseUserRender ctrl)
        {
            CiordubDTO btitemdo = rowDataSource as CiordubDTO;

            if (null != btitemdo)
            {
                XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
                xComboBoxUnit.ValueText = btitemdo.Quan_medu == null ? "" : btitemdo.Quan_medu.ToString();
                xComboBoxUnit.ValueUnit = btitemdo.Name_unit;
            }
        }
예제 #6
0
        protected override void editorWillDisappear(object rowDataSource, XBaseUserRender ctrl)
        {
            XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
            CiordubDTO    btitemdo      = rowDataSource as CiordubDTO;

            if (null != btitemdo)
            {
                btitemdo.Quan_medu = ((xComboBoxUnit.ValueText == null || xComboBoxUnit.ValueText.Length == 0) ? 0 : Double.Parse(xComboBoxUnit.ValueText));
                btitemdo.Name_unit = xComboBoxUnit.ValueUnit;
            }
        }
예제 #7
0
        protected override void initCellControlFormat(XBaseUserRender ctrl)
        {
            XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;

            //xComboBoxUnit.ComboboxWidthPercent = 0.38;
            xComboBoxUnit.TextAlignment = System.Windows.Forms.HorizontalAlignment.Right;

            //xComboBoxUnit.MinInputNumber = 0.001;
            xComboBoxUnit.MaxInputNumber = 99999999.9999;
            xComboBoxUnit.NullFlag       = false;
            xComboBoxUnit.HasError       = false;
        }
        protected override void editorWillDisappear(object rowDataSource, XBaseUserRender ctrl)
        {
            XComboBoxUnit  xComboBoxUnit = ctrl as XComboBoxUnit;
            CiOrdFeeSrvDTO drug          = rowDataSource as CiOrdFeeSrvDTO;

            if (null != drug)
            {
                double quan_med = ((xComboBoxUnit.ValueText == null || xComboBoxUnit.ValueText.Length == 0) ? 0 : Double.Parse(xComboBoxUnit.ValueText));
                drug.Quan_med      = quan_med == 0 ? 0.001 : quan_med;
                drug.Name_unit_med = xComboBoxUnit.ValueUnit;
            }
        }
예제 #9
0
        protected override void editorWillDisappear(object rowDataSource, XBaseUserRender ctrl)
        {
            XComboBoxUnit  xComboBoxUnit = ctrl as XComboBoxUnit;
            CiOrdFeeSrvDTO drug          = rowDataSource as CiOrdFeeSrvDTO;

            if (null != drug)
            {
                drug.Quan_total_medu = ((xComboBoxUnit.ValueText == null || xComboBoxUnit.ValueText.Length == 0) ? 0 : Double.Parse(xComboBoxUnit.ValueText));
                drug.Name_unit_sale  = xComboBoxUnit.ValueUnit;
                drug.Id_unit_sale    = xComboBoxUnit.SelectKey.ToString();
            }
        }
예제 #10
0
        /// <summary>
        /// 总量单位
        /// </summary>
        /// <param name="rowDataSource"></param>
        /// <param name="ctrl"></param>
        protected override void editorWillAppear(Object rowDataSource, XBaseUserRender ctrl)
        {
            XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
            EmsOrDrug     drug          = rowDataSource as EmsOrDrug;

            if (null != drug)
            {
                //if (xComboBoxUnit.ValueUnit.Length > 0)
                //{
                Dictionary <object, string> items = new Dictionary <object, string>();
                //items.Add(drug.Id_unit_sale, drug.Name_unit_sale);
                FMap fmap = drug.Relativefieldmap;
                if (fmap == null)
                {
                    if (drug.Id_unit_sale != null)
                    {
                        items.Add(drug.Id_unit_sale, drug.Name_unit_sale);
                    }
                    else
                    {
                        items.Add("", drug.Name_unit_sale);
                    }
                }
                else
                {
                    string idstr     = (string)fmap[CiDictCodeConst.EMSORDRUG_RELATIVE_FIELD_ID_MEASDOC];
                    string namestr   = (string)fmap[CiDictCodeConst.EMSORDRUG_RELATIVE_FIELD_MEASDOC_NAME];
                    string factorstr = (string)fmap["factor"];
                    if (!string.IsNullOrEmpty(idstr) && !string.IsNullOrEmpty(namestr) && !string.IsNullOrEmpty(factorstr))
                    {
                        string[] ids     = idstr.Split(new char[] { ',' });
                        string[] names   = namestr.Split(new char[] { ',' });
                        string[] factors = factorstr.Split(',');
                        for (int i = 0; i < ids.Length; i++)
                        {
                            if (!items.ContainsKey(ids[i] + "," + factors[i]))
                            {
                                items.Add(ids[i] + "," + factors[i], names[i]);
                            }
                        }
                    }
                }

                xComboBoxUnit.DataSource = items;
                //}
                xComboBoxUnit.ValueText = (drug.Quan_cur == null ? "0" : drug.Quan_cur.ToString());
                xComboBoxUnit.ValueUnit = (drug.Name_unit_sale == null ? "" : drug.Name_unit_sale);
            }
        }
예제 #11
0
        protected override void editorWillAppear(object rowDataSource, XBaseUserRender ctrl)
        {
            EmsOrDrug drug = rowDataSource as EmsOrDrug;

            if (null != drug)
            {
                XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
                xComboBoxUnit.ValueText = (drug.Quan_med == null ? "0" : drug.Quan_med.ToString());
                xComboBoxUnit.ValueUnit = (drug.Name_unit_med == null ? "" : drug.Name_unit_med);
                if (xComboBoxUnit.ValueUnit.Length > 0)
                {
                    Dictionary <object, string> items = new Dictionary <object, string>();
                    items.Add(drug.Id_unit_med, drug.Name_unit_med);

                    xComboBoxUnit.DataSource = items;
                }
            }
        }
예제 #12
0
 /// <summary>
 /// 单元格必填项为空时,设置前景色
 /// </summary>
 /// <param name="drug"></param>
 /// <param name="ctrl"></param>
 private void setColumnForeColor(EmsOrDrug drug, XBaseUserRender ctrl)
 {
     // 自定义控件需要传递编辑完成后该列的错误信息
     if (drug.Quan_med == null || drug.Quan_med == 0)
     {
         ctrl.HasError = true;
         //cell.ErrorText = "剂量不允许为空";
     }
     else if (drug.Name_unit_med == null && !AllowUnitNull)
     {
         ctrl.HasError = true;
         //cell.ErrorText = "剂量单位为空";
     }
     else
     {
         ctrl.HasError  = false;
         ctrl.ErrorText = null;
     }
 }
예제 #13
0
        protected override void editorWillDisappear(object rowDataSource, XBaseUserRender ctrl)
        {
            XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
            EmsOrDrug     drug          = rowDataSource as EmsOrDrug;

            if (null != drug)
            {
                drug.Quan_cur       = ((xComboBoxUnit.ValueText == null || xComboBoxUnit.ValueText.Length == 0) ? 0 : Double.Parse(xComboBoxUnit.ValueText));
                drug.Name_unit_sale = xComboBoxUnit.ValueUnit;
                string selectKey    = xComboBoxUnit.SelectKey.ToString();
                string id_unit_sale = selectKey.Split(',')[0];
                string factor       = "";
                if (selectKey.IndexOf(",") != -1)
                {
                    factor = selectKey.Split(',')[1];
                }
                drug.Id_unit_sale = id_unit_sale;
                drug.Factor_cb    = string.IsNullOrEmpty(factor) ? 0 : Convert.ToDouble(factor);
            }
        }
예제 #14
0
        protected override void editorWillDisappear(object rowDataSource, XBaseUserRender ctrl)
        {
            XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
            EmsOrDrug     drug          = rowDataSource as EmsOrDrug;

            if (null != drug)
            {
                double?quan_med = null;
                if (xComboBoxUnit.ValueText != null && xComboBoxUnit.ValueText != "")
                {
                    quan_med = Double.Parse(xComboBoxUnit.ValueText);
                }
                drug.Quan_medu_virtual      = quan_med;//quan_med == null ? 0:
                drug.Name_unit_medu_virtual = xComboBoxUnit.ValueUnit;
                if (String.IsNullOrEmpty(xComboBoxUnit.ValueUnit))
                {
                    drug.Name_unit_med = xComboBoxUnit.ValueUnit;
                }
                setQuanMedu(xComboBoxUnit, drug);
            }
        }
        protected override void editorWillAppear(object rowDataSource, XBaseUserRender ctrl)
        {
            CiOrdFeeSrvDTO drug = rowDataSource as CiOrdFeeSrvDTO;

            if (null != drug)
            {
                XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
                xComboBoxUnit.ValueText = (drug.Quan_med == null ? "0" : drug.Quan_med.ToString());
                xComboBoxUnit.ValueUnit = (drug.Name_unit_med == null ? "" : drug.Name_unit_med);
                if (xComboBoxUnit.ValueUnit.Length > 0)
                {
                    Dictionary <object, string> items = new Dictionary <object, string>();
                    items.Add(drug.Id_unit_med, drug.Name_unit_med);
                    if (drug.Id_unit_base != null && !drug.Id_unit_base.Equals(drug.Id_unit_med))
                    {
                        items.Add(drug.Id_unit_base, drug.Name_unit_base);
                    }

                    xComboBoxUnit.DataSource = items;
                }
            }
        }
예제 #16
0
        /// <summary>
        /// 总量单位
        /// </summary>
        /// <param name="rowDataSource"></param>
        /// <param name="ctrl"></param>
        protected override void editorWillAppear(Object rowDataSource, XBaseUserRender ctrl)
        {
            XComboBoxUnit  xComboBoxUnit = ctrl as XComboBoxUnit;
            CiOrdFeeSrvDTO drug          = rowDataSource as CiOrdFeeSrvDTO;

            if (null != drug)
            {
                Dictionary <object, string> items = new Dictionary <object, string>();

                FMap fmap = null;// drug.Relativefieldmap;
                if (fmap == null)
                {
                    if (!string.IsNullOrEmpty(drug.Id_unit_sale))
                    {
                        items.Add(drug.Id_unit_sale, drug.Name_unit_sale);
                    }
                }
                else
                {
                    string idstr   = (string)fmap[CiDictCodeConst.EMSORDRUG_RELATIVE_FIELD_ID_MEASDOC];
                    string namestr = (string)fmap[CiDictCodeConst.EMSORDRUG_RELATIVE_FIELD_MEASDOC_NAME];
                    if (!string.IsNullOrEmpty(idstr))
                    {
                        string[] ids   = idstr.Split(new char[] { ',' });
                        string[] names = namestr.Split(new char[] { ',' });
                        for (int i = 0; i < ids.Length; i++)
                        {
                            items.Add(ids[i], names[i]);
                        }
                    }
                }

                xComboBoxUnit.DataSource = items;
                xComboBoxUnit.ValueText  = (drug.Quan_total_medu == null ? "0" : drug.Quan_total_medu.ToString());
                xComboBoxUnit.ValueUnit  = (drug.Name_unit_sale == null ? "" : drug.Name_unit_sale);
            }
        }
예제 #17
0
 protected virtual void initCellControlFormat(XBaseUserRender ctrl)
 {
 }
예제 #18
0
 protected virtual void editorWillDisappear(Object rowDataSource, XBaseUserRender ctrl)
 {
 }
예제 #19
0
 public BaseTableCell()
 {
     this.customCtrl = this.createCustomCtrl();
     initCellControlFormat(customCtrl);
     this.AddRender(customCtrl);
 }