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