public DataTable PreparePivotTable(DataTable dataSource, string colX, string colY, string colValue, PivotGroupFunction valueGroupFn = PivotGroupFunction.None)
 {
     ColumnX.Name1      = colX;
     ColumnY.Name1      = colY;
     ColumnValue        = colValue;
     ValueGroupFunction = valueGroupFn;
     return(PreparePivotTable(dataSource));
 }
        public double GetCellData(PivotValue pv, PivotGroupFunction grpFn)
        {
            switch (grpFn)
            {
            case PivotGroupFunction.Count:
                return(pv.Count);

            case PivotGroupFunction.Sum:
                return(pv.Sum);

            case PivotGroupFunction.Max:
                return(pv.Max);

            case PivotGroupFunction.Min:
                return(pv.Min);

            case PivotGroupFunction.Average:
            case PivotGroupFunction.None:
            default:
                return(pv.Average);
            }
        }