Example #1
0
        public void GetDataRowCountAdvanced(GridViewCustomBindingGetDataRowCountArgs e)
        {
            int rowCount;

            if (GridViewCustomBindingSummaryCache.TryGetCount(e.FilterExpression, out rowCount))
            {
                e.DataRowCount = rowCount;
            }
            else
            {
                e.DataRowCount = Model.ApplyFilter(e.FilterExpression).Count();
            }
        }
Example #2
0
        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);
            }
        }