/// <summary> /// 钻入 /// </summary> /// <param name="pTargetColumn">用户选择钻入的报表列</param> /// <param name="pDrilledDimValue">钻入项(是一个维度项)的值</param> /// <param name="pDrilledDimText">钻入项(是一个维度项)的文本</param> /// <returns>钻入后的表格剖面</returns> public AnalysisReportDrillSection DrillIn(AnalysisColumn pTargetColumn, string pDrilledDimValue, string pDrilledDimText) { if (this.CanDrillIn(pTargetColumn)) { //插入默认钻入的第一个钻取剖面 if (this.IsIncludeFirstSection == false) { AnalysisReportDrilling drilling = new AnalysisReportDrilling(); drilling.To = this.Sections[0]; this.DrillingRoute.Insert(0, drilling); this.IsIncludeFirstSection = true; } //设置当前钻取的值和文本 this.DrillingRoute[this.CurrentIndex].DrilledDimText = pDrilledDimText; this.DrillingRoute[this.CurrentIndex].DrilledDimValue = pDrilledDimValue; //初始化下此钻取的相关信息 AnalysisReportDrilling d = new AnalysisReportDrilling(); d.From = this.Sections[this.CurrentIndex]; d.To = this.Sections[this.CurrentIndex + 1]; this.DrillingRoute.Add(d); // this.CurrentIndex++; return(this.CurrentSection); } else { throw new NotSupportedException("当前不支持钻入."); } }
/// <summary> /// 获得钻取的路线 /// </summary> /// <returns></returns> public AnalysisReportDrilling[] GetDrillingRoute() { //插入默认钻入的第一个钻取剖面 if (this.IsIncludeFirstSection == false) { AnalysisReportDrilling drilling = new AnalysisReportDrilling(); drilling.To = this.Sections[0]; this.DrillingRoute.Insert(0, drilling); this.IsIncludeFirstSection = true; } return(this.DrillingRoute.ToArray()); }