private static decimal GetSumOf(RenderContext context, BaseColumn c, Func <RenderContext, BaseColumn, bool> where)
        {
            if (!c.IsCrossColumn)
            {
                if (where == null || where (context, c))
                {
                    return(Convert.ToDecimal(c.GetValueByContext(context)));
                }
                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.Sum(renderContext => Convert.ToDecimal(renderContext.Column.GetValue(renderContext))));
        }
 private object GetValue(RenderContext context)
 {
     cloneColumn.DependenceColumns(context, baseColumn);
     return(baseColumn.GetValueByContext(context));
 }