private static int GetRowsCount(RenderContext context, BaseColumn c) { if (!c.IsCrossColumn) { return(c.GetRowsCount(context.OtherColumns[c.ColumnName])); } var crossColumnNames = c.BaseCrossColumnDataSource.GetCrossColumnNames().ToList(); if (crossColumnNames.Count == 0) { return(0); } return(crossColumnNames.Max(n => c.GetRowsCount(context.OtherColumns[n]))); }
private int GetRowsCount(RenderContext context, BaseColumn c, Func <RenderContext, BaseColumn, bool> where) { if (CrossColumnDataSource != null) { return(CrossColumnDataSource.GetRowsCount(context)); } if (!c.IsCrossColumn) { if (where == null || where (context, c)) { var columnName = c.ColumnName; return(c.GetRowsCount(context.OtherColumns[columnName])); } return(0); } var contexts = c.BaseCrossColumnDataSource.GetCrossColumnNames().Select(columnName => context.OtherColumns[columnName]); var crossColumnNames = where == null ? contexts.ToList() : contexts.Where(renderContext => where (renderContext, renderContext.Column)).ToList(); if (crossColumnNames.Count == 0) { return(0); } return(crossColumnNames.Max(renderContext => renderContext.Column.GetRowsCount(renderContext))); }
private int GetRowsCount(RenderContext context) { cloneColumn.DependenceColumns(context, baseColumn); return(baseColumn.GetRowsCount(context.OtherColumns[baseColumn.ColumnName])); }