예제 #1
0
        /// <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("当前不支持钻入.");
            }
        }
예제 #2
0
 /// <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());
 }