Rows GetNestedData(Report rpt, Row row) { if (row == null) { return(null); } ReportLink rl = this.Parent; while (rl != null) { if (rl is TableGroup || rl is List || rl is MatrixCell) { break; } rl = rl.Parent; } if (rl == null) { return(null); // should have been caught as an error } Grouping g = null; if (rl is TableGroup) { TableGroup tg = rl as TableGroup; g = tg.Grouping; } else if (rl is List) { List l = rl as List; g = l.Grouping; } else if (rl is MatrixCell) { MatrixCellEntry mce = this.GetMC(rpt); return(new Rows(rpt, mce.Data)); } if (g == null) { return(null); } GroupEntry ge = row.R.CurrentGroups[g.GetIndex(rpt)]; return(new Rows(rpt, row.R, ge.StartRow, ge.EndRow, null)); }
internal void SetMC(Report rpt, MatrixCellEntry mce) { WorkClass wc = GetWC(rpt); wc.MC = mce; }
internal Page CurrentPage; // the page this reportitem was last put on; internal WorkClass() { MC = null; BottomPosition = float.NaN; CurrentPage = null; }