Esempio n. 1
0
        public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            IWindowsFormsEditorService editorService = null;

            if (null != context && null != context.Instance)
            {
                sectionClass pcc = context.Instance as sectionClass;
                if (null != pcc && null != pcc.SourceField)
                {
                    editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
                    if (editorService != null)
                    {
                        FieldTreeViewData   sfAll = (PMS.Libraries.ToolControls.PMSPublicInfo.CurrentPrjInfo.GetCurrentReportDataDefine()) as FieldTreeViewData;
                        RelationFieldChoose rfc   = new RelationFieldChoose(editorService);

                        rfc.strRField = pcc.BindingField;
                        List <PmsField> lp = new List <PmsField>();

                        List <SourceField> lpdb = pcc.SourceField.GetSubSourceField(sfAll);
                        foreach (SourceField pdb in lpdb)
                        {
                            try
                            {
                                if (!string.IsNullOrEmpty(pdb.DataType))
                                {
                                    string typ = pdb.DataType.ToUpper();
                                    if (typ.Equals("INT", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("FLOAT", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("REAL", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("INT32", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("INT16", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("INT64", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("SYSTEM.SINGLE", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("SYSTEM.DOUBLE", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("SYSTEM.INT32", StringComparison.InvariantCultureIgnoreCase) ||
                                        typ.Equals("SYSTEM.DECIMAL", StringComparison.InvariantCultureIgnoreCase))
                                    {
                                        PmsField pf = new PmsField();
                                        pf.fieldName        = pdb.RecordField;
                                        pf.fieldDescription = pdb.Name;
                                        lp.Add(pf);
                                    }
                                }
                            }
                            catch
                            {
                            }
                        }
                        rfc.pmsFieldList = lp;
                        editorService.DropDownControl(rfc);
                        if (!string.IsNullOrEmpty(rfc.strRField))
                        {
                            value = rfc.strRField;
                        }
                        return(value);
                    }
                }
            }
            return(base.EditValue(context, provider, value));
        }
Esempio n. 2
0
        /// <summary>
        /// 初始化X轴数据源绑定ComboBox
        /// </summary>
        private void cboXBindingFieldInit()
        {
            //测试用数据
            //cboXBindingField.Items.Add("XBindingField1");
            //cboXBindingField.Items.Add("XBindingField2");
            //cboXBindingField.Items.Add("XBindingField3");

            cboXBindingField.Items.Clear();
            if (ChartParent.SourceField == null)
            {
                return;
            }
            FieldTreeViewData  ftvd   = PMS.Libraries.ToolControls.PMSPublicInfo.CurrentPrjInfo.GetCurrentReportDataDefine() as FieldTreeViewData;
            List <SourceField> fields = ChartParent.SourceField.GetSubSourceField(ftvd);

            if (fields == null)
            {
                return;
            }
            List <PmsField> lp = new List <PmsField>();

            foreach (SourceField sf in fields)
            {
                if (!string.IsNullOrEmpty(sf.DataType))
                {
                    PmsField pf = new PmsField();
                    pf.fieldName        = sf.RecordField;
                    pf.fieldDescription = sf.Name;
                    lp.Add(pf);
                    cboXBindingField.Items.Add(pf.fieldName);
                }
            }
        }
Esempio n. 3
0
        private void SplitDateTime(List <PmsField> lp, SourceField sf, ComboBox comboBox, ArrayList al, string dateType)
        {
            PmsField pf = new PmsField();

            pf.fieldName        = sf.RecordField + "_" + dateType;
            pf.fieldDescription = sf.Name + "." + dateType;
            lp.Add(pf);
            al.Add(new ComboxItem(pf.fieldDescription, pf.fieldName));
            //comboBox.Items.Add(pf.fieldName);
        }
Esempio n. 4
0
        /// <summary>
        /// 初始化次统计数据源绑定ComboBox
        /// </summary>
        private void cboMinorBindingInit()
        {
            ArrayList al = new ArrayList();

            cboMinorBinding.Items.Clear();
            //cboMinorBinding.Items.Add("");
            al.Add(new ComboxItem());
            if (ChartParent.SourceField == null)
            {
                return;
            }
            FieldTreeViewData  ftvd   = PMS.Libraries.ToolControls.PMSPublicInfo.CurrentPrjInfo.GetCurrentReportDataDefine() as FieldTreeViewData;
            List <SourceField> fields = ChartParent.SourceField.GetSubSourceField(ftvd);

            if (fields == null)
            {
                return;
            }
            List <PmsField> lp = new List <PmsField>();

            foreach (SourceField sf in fields)
            {
                if (!string.IsNullOrEmpty(sf.DataType))
                {
                    PmsField pf = new PmsField();
                    pf.fieldName        = sf.RecordField;
                    pf.fieldDescription = sf.Name;
                    lp.Add(pf);
                    al.Add(new ComboxItem(pf.fieldDescription, pf.fieldName));
                    //cboMinorBinding.Items.Add(pf.fieldName);

                    string typ = sf.DataType.ToUpper();
                    if (typ.Equals("SYSTEM.DATETIME", StringComparison.InvariantCultureIgnoreCase))
                    {
                        SplitDateTime(lp, sf, cboMinorBinding, al, "Year");
                        SplitDateTime(lp, sf, cboMinorBinding, al, "Month");
                        SplitDateTime(lp, sf, cboMinorBinding, al, "Day");
                        SplitDateTime(lp, sf, cboMinorBinding, al, "Hour");
                        SplitDateTime(lp, sf, cboMinorBinding, al, "Minute");
                        SplitDateTime(lp, sf, cboMinorBinding, al, "Second");
                    }
                }
            }
            cboMinorBinding.DataSource    = al;
            cboMinorBinding.DisplayMember = "Name";
            cboMinorBinding.ValueMember   = "Value";
        }
Esempio n. 5
0
        /// <summary>
        /// 初始化Y轴数据源绑定ComboBox
        /// </summary>
        private void cboYBindingFieldInit()
        {
            //测试用数据
            //cboYBindingField.Items.Add("YBindingField1");
            //cboYBindingField.Items.Add("YBindingField2");
            //cboYBindingField.Items.Add("YBindingField3");

            cboYBindingField.Items.Clear();
            if (ChartParent.SourceField == null)
            {
                return;
            }
            FieldTreeViewData  ftvd   = PMS.Libraries.ToolControls.PMSPublicInfo.CurrentPrjInfo.GetCurrentReportDataDefine() as FieldTreeViewData;
            List <SourceField> fields = ChartParent.SourceField.GetSubSourceField(ftvd);

            if (fields == null)
            {
                return;
            }
            List <PmsField> lp = new List <PmsField>();

            foreach (SourceField sf in fields)
            {
                if (!string.IsNullOrEmpty(sf.DataType))
                {
                    string typ = sf.DataType.ToUpper();
                    if (typ.Equals("INT", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("FLOAT", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("REAL", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("INT32", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("INT16", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("INT64", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("SYSTEM.SINGLE", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("SYSTEM.DOUBLE", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("SYSTEM.INT32", StringComparison.InvariantCultureIgnoreCase) ||
                        typ.Equals("SYSTEM.DECIMAL", StringComparison.InvariantCultureIgnoreCase))
                    {
                        PmsField pf = new PmsField();
                        pf.fieldName        = sf.RecordField;
                        pf.fieldDescription = sf.Name;
                        lp.Add(pf);
                        cboYBindingField.Items.Add(pf.fieldName);
                    }
                }
            }
        }
Esempio n. 6
0
            public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value)
            {
                IWindowsFormsEditorService editorService = null;

                if (null != context && null != context.Instance)
                {
                    CurveX pcc = context.Instance as CurveX;
                    if (null != pcc && null != pcc.SourceField)
                    {
                        editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
                        if (editorService != null)
                        {
                            FieldTreeViewData   sfAll = (PMS.Libraries.ToolControls.PMSPublicInfo.CurrentPrjInfo.GetCurrentReportDataDefine()) as FieldTreeViewData;
                            RelationFieldChoose rfc   = new RelationFieldChoose(editorService);

                            rfc.strRField = (string)pcc.xRecordField;
                            List <PmsField> lp = new List <PmsField>();

                            List <SourceField> lpdb = pcc.SourceField.GetSubSourceField(sfAll);
                            foreach (SourceField pdb in lpdb)
                            {
                                if (string.IsNullOrEmpty(pdb.SqlText))
                                {
                                    PmsField pf = new PmsField();
                                    pf.fieldName        = pdb.RecordField;
                                    pf.fieldDescription = pdb.Name;
                                    lp.Add(pf);
                                }
                            }
                            rfc.pmsFieldList = lp;
                            editorService.DropDownControl(rfc);
                            if (!string.IsNullOrEmpty(rfc.strRField))
                            {
                                value = rfc.strRField;
                            }
                            return(value);
                        }
                    }
                }
                return(base.EditValue(context, provider, value));
            }
Esempio n. 7
0
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox1.Items.Clear();
            comboBox1.Items.Add("");

            PmsField pf = null;

            foreach (PmsField Field in _pmsFieldList)
            {
                if (Field.fieldName == (string)comboBox2.SelectedItem)
                {
                    pf = Field;
                    break;
                }
            }
            comboBox1.SelectedIndex = 0;
            if (pf == null)
            {
                return;
            }
            if (pf.fieldType.Equals("FLOAT") || pf.fieldType.Equals("REAL") || pf.fieldType.Equals("INT"))
            {
                comboBox1.Items.Add("Avg");
                comboBox1.Items.Add("Count");
                comboBox1.Items.Add("Max");
                comboBox1.Items.Add("Min");
                comboBox1.Items.Add("Sum");
            }
            else if (pf.fieldType.Equals("BIT"))
            {
                comboBox1.Items.Add("Count");
            }
            else if (pf.fieldType.Equals("DATETIME") || pf.fieldType.StartsWith("VARCHAR"))
            {
                comboBox1.Items.Add("Count");
                comboBox1.Items.Add("Max");
                comboBox1.Items.Add("Min");
            }
        }