public void GetSummary(GridViewCustomBindingGetSummaryValuesArgs e) { // var filter = Persons.ApplyFilter(e.FilterExpression).ApplyFilter(e.GroupInfoList); // var calculateSummary = filter.CalculateSummary(e.SummaryItems); // e.Data = calculateSummary; // var countSummaryItem = e.SummaryItems.FirstOrDefault(state => state.SummaryType == SummaryItemType.Count); // if (e.GroupInfoList.Count == 0 && countSummaryItem != null) // { // var indexOf = e.SummaryItems.IndexOf(countSummaryItem); // var count = calculateSummary[indexOf] != null ? Convert.ToInt32(calculateSummary[indexOf]) : 0; // GridViewCustomBindingSummaryCache.SaveCount(e.FilterExpression, count); // } }
public void GetSummaryValuesAdvanced(GridViewCustomBindingGetSummaryValuesArgs e) { var query = Model .ApplyFilter(e.FilterExpression) .ApplyFilter(e.GroupInfoList); var summaryValues = query.CalculateSummary(e.SummaryItems); e.Data = summaryValues; var countSummaryItem = e.SummaryItems.FirstOrDefault(i => i.SummaryType == SummaryItemType.Count); if (e.GroupInfoList.Count == 0 && countSummaryItem != null) { var itemIndex = e.SummaryItems.IndexOf(countSummaryItem); var count = summaryValues[itemIndex] != null?Convert.ToInt32(summaryValues[itemIndex]) : 0; GridViewCustomBindingSummaryCache.SaveCount(e.FilterExpression, count); } }
public void GetSummaryValues(GridViewCustomBindingGetSummaryValuesArgs e) { XPView data = new XPView(Session, ClassInfo); data.Criteria = CriteriaOperator.Parse(e.FilterExpression) & GetGroupFilter(e.GroupInfoList); foreach (GridViewSummaryItemState summaryItem in e.SummaryItems) { Aggregate aggregateType = GetAggregateType(summaryItem.SummaryType); CriteriaOperator aggregatedExpression = new OperandProperty(summaryItem.FieldName); CriteriaOperator property = new AggregateOperand(null, aggregatedExpression, aggregateType, null); string name = string.Concat(summaryItem.FieldName, summaryItem.SummaryType); data.AddProperty(name, property); } ArrayList result = new ArrayList(); ViewRecord rec = data[0]; for (int i = 0; i < data.Properties.Count; i++) { result.Add(rec[i]); } e.Data = result; }
public static void GetSummaryValuesAdvanced(GridViewCustomBindingGetSummaryValuesArgs e) { var query = Model .ApplyFilter(e.State.FilterExpression) .ApplyFilter(e.GroupInfoList); var list = new ArrayList(); foreach (var item in e.SummaryItems) { switch (item.SummaryType) { case SummaryItemType.Count: list.Add(query.Count()); break; case SummaryItemType.Sum: list.Add(query.Sum(item.FieldName)); break; } } e.Data = list; }
public static void GetSummaryValuesAdvanced(GridViewCustomBindingGetSummaryValuesArgs e) { var query = Model .ApplyFilter(e.State.AppliedFilterExpression) .ApplyFilter(e.GroupInfoList); var list = new ArrayList(); foreach (var item in e.SummaryItems) { switch (item.SummaryType) { case SummaryItemType.Count: list.Add(query.Count()); break; default: string summaryString = Enum.GetName(typeof(SummaryItemType), item.SummaryType); list.Add(query.CountSummary(item.FieldName, summaryString)); break; } } e.Data = list; }
public virtual void GetGridViewSummaryValues(GridViewCustomBindingGetSummaryValuesArgs e) { var result = DB.Execute((db, w) => { var query = Query(w) .ApplyFilter(PrepareFilterExpression(e.FilterExpression)) .ApplyFilter(PrepareGroupInfoList(e.GroupInfoList)); List <GridViewSummaryItemState> summaryItems = e.SummaryItems; var summaryValues = query.CalculateSummary(PrepareSummaryItems(summaryItems)); var countSummaryItem = summaryItems.FirstOrDefault(i => i.SummaryType == SummaryItemType.Count); if (e.GroupInfoList.Count == 0 && countSummaryItem != null) { var itemIndex = summaryItems.IndexOf(countSummaryItem); var count = summaryValues[itemIndex] != null ? Convert.ToInt32(summaryValues[itemIndex]) : 0; CacheSaveCount(e.FilterExpression, count); } return(summaryValues); }); e.Data = result; }