Beispiel #1
0
        public static List <MD_GuideLineDetailDefine> GetDetaiDefinelFromMeta(string _metaStr)
        {
            List <MD_GuideLineDetailDefine> _ret = new List <MD_GuideLineDetailDefine>();
            RegexOptions options  = RegexOptions.None;
            Regex        regeMeta = new Regex(@"<MX>[^<]{1,}</MX>", options);

            MatchCollection _mc = regeMeta.Matches(_metaStr);

            foreach (Match _m in _mc)
            {
                string   _s2 = _m.Value.Substring(4, _m.Length - 9);
                string[] _s3 = _s2.Split(':');
                if (_s3.Length > 3)
                {
                    string _fname = _s3[0].ToUpper();
                    string _type  = _s3[1];
                    string _qid   = _s3[2];
                    string _qcs   = _s3[3];
                    string _links = (_s3.Length > 4) ? _s3[4] : "";
                    MD_GuideLineDetailDefine _gdd = new MD_GuideLineDetailDefine(_fname, _type, _qid, _qcs, _links);

                    _ret.Add(_gdd);
                }
            }
            return(_ret);
        }
Beispiel #2
0
        /// <summary>
        /// 显示查询模型方式的详细信息
        /// </summary>
        /// <param name="_df"></param>
        /// <param name="_dr"></param>
        private void ShowDetailByQueryModel(MD_GuideLineDetailDefine _df, DataRow _dr)
        {
            //取链接明细参数定义
            List <MD_GuideLineDetailParameter> _detailParamList = MC_GuideLine.GetGuideLineDetailParam(_df.DetailParameterMeta);
            MD_GuideLineDetailParameter        _param           = _detailParamList[0];
            string             _data = ReplaceVerByRowData(_dr, _param.DataValue);
            ShowDetailDataArgs _args = new ShowDetailDataArgs(_df.DetailMethodID, _param.Name, _data);

            RaiseShowDetailDatal(_args);
        }
Beispiel #3
0
        private void AddDetailDefine()
        {
            this.gridDetail.BeginUpdate();
            MD_GuideLineDetailDefine _gdd = new MD_GuideLineDetailDefine();

            _gdd.TargetFieldName = "字段";
            _gdd.QueryDetailType = "查询模型";
            IList <MD_GuideLineDetailDefine> _detailList = this.gridDetail.DataSource as IList <MD_GuideLineDetailDefine>;

            _detailList.Add(_gdd);
            this.gridDetail.EndUpdate();
            this._haveChange = true;
            RaiseDataChanged();
        }
Beispiel #4
0
        /// <summary>
        /// 以指标方式显示详细信息
        /// </summary>
        /// <param name="_df"></param>
        /// <param name="_dr"></param>
        private void ShowDetailByGuideLine(MD_GuideLineDetailDefine _df, DataRow _dr)
        {
            MDQuery_GuideLineParameter _param;
            List <MD_GuideLine>        _gls;
            string _guideLineID = _df.DetailMethodID;

            using (MetaDataQueryServiceClient _msc = new MetaDataQueryServiceClient())
            {
                _gls = _msc.GetRootGuideLineList(_guideLineID).ToList <MD_GuideLine>();
            }

            //取链接明细参数定义
            List <MD_GuideLineDetailParameter> _detailParamList = MC_GuideLine.GetGuideLineDetailParam(_df.DetailParameterMeta);
            Dictionary <string, string>        _detailParamDict = new Dictionary <string, string>();

            foreach (MD_GuideLineDetailParameter _dparam in _detailParamList)
            {
                _detailParamDict.Add(_dparam.Name, _dparam.DataValue);
            }

            if (_gls.Count > 0)
            {
                //取指标
                MD_GuideLine _guideLine = _gls[0];

                //建立查询参数
                List <MDQuery_GuideLineParameter> _queryParams = new List <MDQuery_GuideLineParameter>();

                //建立指标参数字典
                List <MD_GuideLineParameter> _gParam = MC_GuideLine.GetParametersFromMeta(_guideLine.GuideLineMeta);
                foreach (MD_GuideLineParameter _p in _gParam)
                {
                    if (_detailParamDict.ContainsKey(_p.ParameterName))
                    {
                        string _dataDefine = _detailParamDict[_p.ParameterName];
                        string _data       = ReplaceVerByRowData(_dr, _dataDefine);
                        _param = new MDQuery_GuideLineParameter(_p, _data);
                        _queryParams.Add(_param);
                    }
                    else
                    {
                        XtraMessageBox.Show("缺少参数定义!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
                RaiseShowDetailDatal(new ShowDetailDataArgs(_guideLine, _queryParams));
            }
        }
Beispiel #5
0
        private void ShowDetailByGridColumn(GridColumn _gc, DataRow _dr)
        {
            if (_detailDict.ContainsKey(_gc.FieldName))
            {
                MD_GuideLineDetailDefine _df = this._detailDict[_gc.FieldName];
                switch (_df.QueryDetailType)
                {
                case "查询模型":
                    ShowDetailByQueryModel(_df, _dr);
                    break;

                case "指标定义":
                    ShowDetailByGuideLine(_df, _dr);
                    break;
                }
            }
        }
Beispiel #6
0
        private void repositoryItemButtonEdit1_Click(object sender, EventArgs e)
        {
            this.gridView3.PostEditor();
            int _index = this.gridView3.FocusedRowHandle;

            if (_index >= 0)
            {
                MD_GuideLineDetailDefine        _gd = this.gridView3.GetRow(_index) as MD_GuideLineDetailDefine;
                Dialog_EditGuideLineDetailParam _f  = new Dialog_EditGuideLineDetailParam(_gd);
                if (_f.ShowDialog() == DialogResult.OK)
                {
                    this.gridView3.BeginUpdate();
                    string _ret = _f.GetDetailParam();
                    _gd.DetailParameterMeta = _ret;
                    this.gridView3.EndUpdate();
                    this._haveChange = true;
                    RaiseDataChanged();
                }
            }
        }
Beispiel #7
0
        private List <MD_GuideLineDetailParameter> InitDetailParm(MD_GuideLineDetailDefine _detailDefine)
        {
            using (MetaDataServiceClient _mdc = new MetaDataServiceClient())
            {
                List <MD_GuideLineDetailParameter> _ret = new List <MD_GuideLineDetailParameter>();
                switch (_detailDefine.QueryDetailType)
                {
                case "查询模型":
                    MD_QueryModel _model     = _mdc.GetQueryModelByName(_detailDefine.DetailMethodID);
                    MD_ViewTable  _viewTable = _mdc.GetMainTableOfQueryModel(_model.QueryModelID);
                    this.comboBoxEdit1.Properties.Items.Clear();
                    this.comboBoxEdit1.EditValue = null;
                    foreach (MD_ViewTableColumn _col in _viewTable.Columns)
                    {
                        SelectTableColumn _item = new SelectTableColumn(_col);

                        if (_col.TableColumn.ColumnName == _viewTable.Table.MainKey)
                        {
                            _item.Title += " [主键] ";
                        }
                        this.comboBoxEdit1.Properties.Items.Add(_item);
                    }
                    this.te_Type.EditValue  = "";
                    this.te_Title.EditValue = "";
                    this.te_Value.EditValue = "";

                    break;

                case "指标定义":

                    MD_GuideLine _gl = _mdc.GetGuideLineDefine(_detailDefine.DetailMethodID);
                    List <MD_GuideLineParameter> _gParam = MC_GuideLine.GetParametersFromMeta(_gl.GuideLineMeta);
                    foreach (MD_GuideLineParameter _p in _gParam)
                    {
                        _ret.Add(new MD_GuideLineDetailParameter(_p.ParameterName, _p.DisplayTitle, _p.ParameterType, ""));
                    }
                    break;
                }
                return(_ret);
            }
        }
Beispiel #8
0
        public Dialog_EditGuideLineDetailParam(MD_GuideLineDetailDefine _detailDefine)
        {
            InitializeComponent();
            if (_detailDefine.DetailMethodID == "" && _detailDefine.QueryDetailType != "其它")
            {
                return;
            }
            DetailDefine = _detailDefine;
            switch (_detailDefine.QueryDetailType)
            {
            case "查询模型":
                this.panelQueryModel.Visible = true;
                this.panelGuideLine.Visible  = false;
                this.panelOther.Visible      = false;
                this.panelQueryModel.BringToFront();
                InitDetailParm(_detailDefine);
                if (_detailDefine.DetailParameterMeta != null && _detailDefine.DetailParameterMeta != "")
                {
                    DetailParam = MC_GuideLine.GetGuideLineDetailParam(_detailDefine.DetailParameterMeta);
                    MD_GuideLineDetailParameter _p = DetailParam[0];
                    int _selectedIndex             = -1;
                    for (int i = 0; i < this.comboBoxEdit1.Properties.Items.Count; i++)
                    {
                        SelectTableColumn _stc = this.comboBoxEdit1.Properties.Items[i] as SelectTableColumn;
                        if (_stc.Column.TableColumn.ColumnName == _p.Name)
                        {
                            _selectedIndex = i;
                            break;
                        }
                    }
                    if (_selectedIndex >= 0)
                    {
                        this.comboBoxEdit1.SelectedIndex = _selectedIndex;
                    }
                    this.te_Value.EditValue = _p.DataValue;
                }
                break;

            case "指标定义":
                this.panelQueryModel.Visible = false;
                this.panelGuideLine.Visible  = true;
                this.panelOther.Visible      = false;
                this.panelGuideLine.BringToFront();
                if (_detailDefine.DetailParameterMeta != null && _detailDefine.DetailParameterMeta != "")
                {
                    DetailParam = MC_GuideLine.GetGuideLineDetailParam(_detailDefine.DetailParameterMeta);
                }
                else
                {
                    DetailParam = InitDetailParm(_detailDefine);
                }
                this.sinoCommonGrid1.DataSource = DetailParam;
                break;

            case "其它":
                this.panelGuideLine.Visible  = false;
                this.panelQueryModel.Visible = false;
                this.panelOther.Visible      = true;
                this.panelOther.BringToFront();
                if (_detailDefine.DetailParameterMeta != null && _detailDefine.DetailParameterMeta != "")
                {
                    this.memoEdit1.EditValue = _detailDefine.DetailParameterMeta;
                }
                break;
            }
        }