/// <summary> /// Initializes a new instance of the <see cref="AnalysisRow"/> class. /// </summary> /// <param name="result">Result</param> /// <param name="categoryValue">Category value</param> public AnalysisRow(AnalysisResult result, AnalysisProcessingYCategoryValue categoryValue) { var values = new List <object>(); int i, count = result.Columns.Count; for (i = 0; i < count; i++) { AnalysisProcessingResultColumnValue rcv = categoryValue.ResultColumnValues[i]; AnalysisResultCell cell = new AnalysisResultCell(rcv, this, result.Columns[i] as AnalysisColumn); values.Add(cell); } this.Key = categoryValue.Key; this.Values = values; this.Label = categoryValue.Label; this.ResultRows = categoryValue.ResultRows; this.Result = result; if (categoryValue.Category.SubCategoryName?.Length > 0) { AnalysisDrilldownOption opt = new AnalysisDrilldownOption(result.Analysis, categoryValue.Category.Category.BaseField(), categoryValue.Category.SubCategoryName); if (opt != null) { this.AddDrilldownOption(opt); } } }
/// <summary> /// Initializes a new instance of the <see cref="AnalysisRow"/> class. /// </summary> /// <param name="result">Result</param> /// <param name="ycategoryValues">Y category values</param> public AnalysisRow(AnalysisResult result, List <AnalysisProcessingYCategoryValue> ycategoryValues) { List <object> resultRows = new List <object>(); int i, count = result.Columns.Count; var resultColumnValues = new List <object>(); for (i = 0; i < count; i++) { resultColumnValues.Add(new List <object>()); } foreach (AnalysisProcessingYCategoryValue catval in ycategoryValues) { if (catval.ResultRows.Count > 0) { resultRows.AddRange(catval.ResultRows); } for (i = 0; i < count; i++) { var va = resultColumnValues[i] as List <object>; va.Add(catval.ResultColumnValues[i]); } } var values = new List <object>(); for (i = 0; i < count; i++) { AnalysisResultCell cell = new AnalysisResultCell(resultColumnValues[i] as AnalysisProcessingResultColumnValue, this, result.Columns[i] as AnalysisColumn); values.Add(cell); } this.Values = values; this.ResultRows = resultRows; this.Result = result; this.Label = LocalizedString.TextAnalysesOther; }