protected void grid_CustomSummaryCalculate(object sender, DevExpress.Data.CustomSummaryEventArgs e)
 {
     if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Start)
     {
         totalSumUnitPrice    = 0;
         totalSumUnitsInStock = 0;
     }
     else
     if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Calculate)
     {
         totalSumUnitPrice    += Convert.ToDecimal(e.GetValue("UnitPrice"));
         totalSumUnitsInStock += Convert.ToDecimal(e.GetValue("UnitsInStock"));
     }
     else
     if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Finalize)
     {
         if (totalSumUnitPrice != 0)
         {
             e.TotalValue = (totalSumUnitPrice - totalSumUnitsInStock) / totalSumUnitPrice;
         }
         else
         {
             e.TotalValue = 0;
         }
     }
 }
Beispiel #2
0
 private void grid_CustomSummary(object sender, DevExpress.Data.CustomSummaryEventArgs e)
 {
     if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Start)
     {
         e.TotalValue = 0;
     }
     if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Calculate)
     {
         if ((bool)e.GetValue("Selected"))
         {
             e.TotalValue = Convert.ToDecimal(e.TotalValue) +
                            Convert.ToDecimal(e.GetValue("UnitPrice"));
         }
     }
 }
Beispiel #3
0
        private void gridControl1_CustomSummary(object sender, DevExpress.Data.CustomSummaryEventArgs e)
        {//自定义计划合计
            if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Start)
            {
                totalImpressions = totalClick = totalPaycount = 0;
                totalCost        = totalPay = 0D;
            }
            else if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Calculate)
            {
                long impressions = Convert.ToInt64(e.GetValue("impressions"));
                totalImpressions += impressions;
                long click = Convert.ToInt64(e.GetValue("click"));
                totalClick += click;
                double cost = Convert.ToDouble(e.GetValue("cost"));
                totalCost += cost;
                double pay = Convert.ToDouble(e.GetValue("totalpay"));
                totalPay += pay;
                int paycount = Convert.ToInt32(e.GetValue("totalpaycount"));
                totalPaycount += paycount;
            }
            else if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Finalize)
            {
                DevExpress.Xpf.Grid.GridSummaryItem item = e.Item as DevExpress.Xpf.Grid.GridSummaryItem;

                if (totalImpressions != 0 && item.FieldName == "ctr")
                {
                    e.TotalValue = string.Format("平均={0}%", Math.Round(totalClick * 100.0 / totalImpressions, 2));
                }
                else if (totalClick != 0 && item.FieldName == "cpc")
                {
                    e.TotalValue = string.Format("平均={0}", Math.Round(totalCost / totalClick, 2));
                }
                else if (totalCost != 0 && item.FieldName == "roi")
                {
                    e.TotalValue = string.Format("平均={0}", Math.Round(totalPay / totalCost, 2));
                }
                else if (totalClick != 0 && item.FieldName == "rate")
                {
                    e.TotalValue = string.Format("平均={0}%", Math.Round(totalPaycount * 100.0 / totalClick, 2));
                }
                else
                {
                    e.TotalValue = "平均=0.00%";
                }
            }
        }
    protected void ASPxGridView1_CustomSummaryCalculate(object sender, DevExpress.Data.CustomSummaryEventArgs e)
    {
        switch (e.SummaryProcess)
        {
        case DevExpress.Data.CustomSummaryProcess.Start: summary = 0; break;

        case DevExpress.Data.CustomSummaryProcess.Calculate:
            if (e.GroupLevel == 1 || (bool)e.GetValue("Discontinued"))
            {
                summary += Convert.ToInt32(e.GetValue("UnitsInStock"));
            }
            break;

        case DevExpress.Data.CustomSummaryProcess.Finalize:
            e.TotalValue      = summary;
            e.TotalValueReady = true;
            break;
        }
    }