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)); }
/// <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); } } }
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); }
/// <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"; }
/// <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); } } } }
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)); }
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"); } }