Ejemplo n.º 1
0
        private void gridView1_CustomDrawFooterCell(object sender, DevExpress.XtraGrid.Views.Grid.FooterCellCustomDrawEventArgs e)
        {
            GridSummaryItem summary = e.Info.SummaryItem;

            // Obtain the total summary's value.
            txtTongTienPhong.EditValue = TongTienGio + Convert.ToDouble(summary.SummaryValue);
        }
Ejemplo n.º 2
0
        private void WaybillDetOutGridView_CustomSummaryCalculate(object sender, DevExpress.Data.CustomSummaryEventArgs e)
        {
            if (e.SummaryProcess == CustomSummaryProcess.Finalize)
            {
                var def_m = DBHelper.MeasuresList.FirstOrDefault(w => w.Def == 1);

                GridSummaryItem item = e.Item as GridSummaryItem;

                if (item.FieldName == "MsrName")
                {
                    e.TotalValue = def_m.ShortName;
                }

                if (item.FieldName == "Amount")
                {
                    var amount_sum = _db.WaybillDet.Where(w => w.WbillId == _wbill_id && w.Materials.MId == def_m.MId).ToList().Sum(s => s.Amount);

                    var ext_sum = _db.WaybillDet.Where(w => w.WbillId == _wbill_id && w.Materials.MId != def_m.MId)
                                  .Select(s => new { MaterialMeasures = s.Materials.MaterialMeasures.Where(f => f.MId == def_m.MId), s.Amount }).ToList()
                                  .SelectMany(sm => sm.MaterialMeasures, (k, n) => new { k.Amount, MeasureAmount = n.Amount }).Sum(su => su.MeasureAmount * su.Amount);

                    e.TotalValue = Math.Round(amount_sum + ext_sum, 2);
                }
            }
        }
        static void BuildSummaryTemplate(SnapDocument template, TableCell box, GridSummaryItem source, SummaryRunning running)
        {
            MatchCollection formatFields = formatFinder.Matches(source.DisplayFormat);
            int             k            = 0;

            template.InsertText(box.ContentRange.End, " ");
            foreach (System.Text.RegularExpressions.Match match in formatFields)
            {
                template.InsertText(box.ContentRange.End, source.DisplayFormat.Substring(k, match.Groups[1].Index - k));
                k = match.Groups[1].Index + match.Groups[1].Length;
                SnapText snText = template.CreateSnText(box.ContentRange.End, source.FieldName);
                snText.BeginUpdate();
                snText.SummaryRunning = running;
                snText.SummaryFunc    = source.SummaryType;
                string format = match.Groups[2].Value;
                if (!String.IsNullOrEmpty(format))
                {
                    if (format.EndsWith("C", StringComparison.InvariantCultureIgnoreCase))
                    {
                        snText.FormatString = @"$0.00";
                    }
                }
                snText.EndUpdate();
            }
            template.InsertText(box.ContentRange.End, source.DisplayFormat.Substring(k));
        }
Ejemplo n.º 4
0
        private async void LoadTransactions()
        {
            var store = await _storeManager.GetById(StoreId);

            if (store != null)
            {
                var user = _userManager.GetByID(store.UserID);
                lblStoreUser.Text = $@"Store user: { user.FirstName } {user.LastName }";
                lblStoreDate.Text = $@"{Convert.ToDateTime(store.DateOpen).ToString("MMM. dd, yyyy hh:mm tt")}";

                _transactions = await _saleManager.GetTransactionsByStoreID(StoreId);

                gridControl1.DataSource = null;
                foreach (GridColumn column in gridView1.Columns)
                {
                    GridSummaryItem item = column.SummaryItem;
                    if (item != null)
                    {
                        column.Summary.Remove(item);
                    }
                }
                if (_transactions.Any())
                {
                    var source = _transactions.Select(m => new GridItem()
                    {
                        Items      = m.Items,
                        GrossSales = m.Total,
                        NetSales   = m.Net,
                        AmountPaid = m.AmountPaid,
                        Change     = m.Change,
                        Date       = m.DateTime,
                        Id         = m.SaleID,
                        Time       = m.DateTime
                    });

                    gridControl1.DataSource = source;
                    GridColumnSummaryItem item1 = new GridColumnSummaryItem(SummaryItemType.Sum, "GrossSales", "{0:N}");
                    GridColumnSummaryItem item2 = new GridColumnSummaryItem(SummaryItemType.Sum, "NetSales", "{0:N}");
                    gridView1.Columns["GrossSales"].Summary.Add(item1);
                    gridView1.Columns["NetSales"].Summary.Add(item2);
                }
                //foreach (SaleDTO transaction in _transactions)
                //{
                //    ListViewItem lvi = new ListViewItem(transaction.SaleID.ToString());
                //    lvi.SubItems.Add(transaction.DateStr);
                //    lvi.SubItems.Add(transaction.TimeStr);
                //    lvi.SubItems.Add(transaction.Items);
                //    lvi.SubItems.Add(transaction.Total.ToString("C2").Replace("$", ""));
                //    lvi.SubItems.Add(transaction.Net.ToString("C2").Replace("$", ""));
                //    lvi.SubItems.Add(transaction.AmountPaid.ToString("C2").Replace("$", ""));
                //    lvi.SubItems.Add(transaction.Change.ToString("C2").Replace("$", ""));
                //    lvi.SubItems.Add($@"{ transaction.Firstname } { transaction.Lastname }");

                //    lvwSales.Items.Add(lvi);
                //    _net += transaction.Net;
                //    _gross += transaction.Total;
                //}
            }
        }
Ejemplo n.º 5
0
        private async void PopulateListview(string search = "")
        {
            var items = await _storeManager.GetStoreProductsByStoreID(Global.Store.StoreID);

            gridControl1.DataSource = null;
            foreach (GridColumn column in gridView1.Columns)
            {
                GridSummaryItem item = column.SummaryItem;
                if (item != null)
                {
                    column.Summary.Remove(item);
                }
            }
            if (items.Any())
            {
                var source = items.Select(m => new FrmStoreGridItem
                {
                    Quantity       = m.Quantity,
                    Name           = m.Name,
                    Id             = m.StoreProductID,
                    Left           = m.UnitsLeft,
                    Price          = m.SalesPrice,
                    Sold           = m.UnitsSold,
                    TotalPriceLeft = m.TotalPriceLeft,
                    TotalPriceSold = m.TotalPriceSold
                });

                gridControl1.DataSource = source;
                GridColumnSummaryItem item3 = new GridColumnSummaryItem(SummaryItemType.Sum, "TotalPriceSold", "{0:N}");
                GridColumnSummaryItem item5 = new GridColumnSummaryItem(SummaryItemType.Sum, "TotalPriceLeft", "{0:N}");
                gridView1.Columns["TotalPriceSold"].Summary.Add(item3);
                gridView1.Columns["TotalPriceLeft"].Summary.Add(item5);
            }
            //if (!string.IsNullOrWhiteSpace(search))
            //{
            //    items.RemoveAll(m => !m.Name.ToLower().Contains(search.ToLower()));
            //}

            //listView1.Items.Clear();
            //if (items.Any())
            //{
            //    foreach(var item in items)
            //    {
            //        var lvi = new ListViewItem(item.StoreProductID.ToString());

            //        lvi.SubItems.Add(item.Name);
            //        lvi.SubItems.Add(item.Code);
            //        lvi.SubItems.Add(item.SalesPrice.ToString("C2").Replace("$",""));
            //        lvi.SubItems.Add(item.Quantity.ToString());
            //        lvi.SubItems.Add(item.UnitsSold.ToString());
            //        lvi.SubItems.Add(item.TotalPriceSold.ToString("C2").Replace("$", ""));
            //        lvi.SubItems.Add(item.UnitsLeft.ToString());
            //        lvi.SubItems.Add(item.TotalPriceLeft.ToString("C2").Replace("$", ""));

            //        listView1.Items.Add(lvi);
            //    }
            //}
        }
        private void Form1_Load(object sender, System.EventArgs e)
        {
            gridControl1.DataSource = CreateTable(10);
            gridView1.Columns.AddField("Dummy");
            gridView1.Columns["Dummy"].UnboundType = DevExpress.Data.UnboundColumnType.Integer;
            GridSummaryItem si = new GridSummaryItem(DevExpress.Data.SummaryItemType.Average, "CategoryID", "");

            gridView1.Columns["Dummy"].SummaryItem.Assign(si);
            gridView1.Columns["Dummy"].Visible = false;
        }
Ejemplo n.º 7
0
        private async void PopulateListView(string search = "")
        {
            var items = await _productManager.GetProductsByStoreID(StoreID);

            gridControl1.DataSource = null;
            foreach (GridColumn column in gridView1.Columns)
            {
                GridSummaryItem item = column.SummaryItem;
                if (item != null)
                {
                    column.Summary.Remove(item);
                }
            }
            if (items.Any())
            {
                var source = items.Select(m => new FrmProductGridItem
                {
                    Category       = m.Category,
                    Id             = m.ProductID,
                    Name           = m.Name,
                    Cost           = m.Cost,
                    AvailableStock = m.AvailableStock,
                    Price          = m.SalesPrice,
                    Brand          = m.Brand,
                    InStore        = m.InStore,
                    TotalQuantity  = m.TotalQuantity
                });

                gridControl1.DataSource = source;
                //GridColumnSummaryItem item3 = new GridColumnSummaryItem(SummaryItemType.Sum, "Price", "{0:N}");
                //GridColumnSummaryItem item5 = new GridColumnSummaryItem(SummaryItemType.Sum, "Cost", "{0:N}");
                //gridView1.Columns["Price"].Summary.Add(item3);
                //gridView1.Columns["Cost"].Summary.Add(item5);
            }
            //if (!string.IsNullOrWhiteSpace(search))
            //    items.RemoveAll(m => !m.Name.ToLower().Contains(search.ToLower()));

            //listView1.Items.Clear();
            //foreach (var item in items)
            //{
            //    ListViewItem lvi = new ListViewItem(item.ProductID.ToString());
            //    lvi.SubItems.Add(item.Name);
            //    lvi.SubItems.Add(item.Code);
            //    lvi.SubItems.Add(item.AvailableStock.ToString("C2").Replace("$", ""));
            //    lvi.SubItems.Add(item.InStore.ToString("C2").Replace("$", ""));
            //    lvi.SubItems.Add(item.TotalQuantity.ToString("C2").Replace("$", ""));
            //    lvi.SubItems.Add(item.SalesPrice.ToString("C2").Replace("$", ""));
            //    lvi.SubItems.Add(item.Cost.ToString("C2").Replace("$", ""));
            //    lvi.SubItems.Add(item.Category);
            //    lvi.SubItems.Add(item.Brand);

            //    listView1.Items.Add(lvi);
            //}
        }
        private void KAgentAdjustmentDetGridView_CustomSummaryCalculate(object sender, DevExpress.Data.CustomSummaryEventArgs e)
        {
            if (e.SummaryProcess == CustomSummaryProcess.Finalize)
            {
                GridSummaryItem item = e.Item as GridSummaryItem;

                if (item.FieldName == "Saldo")
                {
                    e.TotalValue = e.FieldValue;
                }
            }
        }
Ejemplo n.º 9
0
        private void carga_dato()
        {
            dtfull.Clear();
            con.conectar("EX");
            SqlCommand cmd2 = new SqlCommand();

            cmd2             = new SqlCommand("[dismo].[FILL_RATE]", con.conex);
            cmd2.CommandType = CommandType.StoredProcedure;

            cmd2.Parameters.AddWithValue("@fechaini", datePickerini.Value.ToString("yyyy/MM/dd"));
            cmd2.Parameters.AddWithValue("@fechafin", datePickerfin.Value.ToString("yyyy/MM/dd"));
            cmd2.Parameters.AddWithValue("@empresa", empresa);

            SqlDataAdapter da1 = new SqlDataAdapter(cmd2);

            da1.Fill(dtfull);
            con.Desconectar("EX");

            gridControl1.Refresh();
            gridControl1.DataSource = dtfull;


            total_arti   = gridView1.GroupSummary.Add(SummaryItemType.Sum, "UNIDADES PEDIDAS", null, "Total Unidades ={0:N2}");
            total_valor  = gridView1.GroupSummary.Add(SummaryItemType.Sum, "VALOR PEDIDO", null, "Total Valor ={0:c2}");
            Total_peso   = gridView1.GroupSummary.Add(SummaryItemType.Sum, "PESO_BRUTO", null, "Total Peso ={0:N2}");
            Total_volume = gridView1.GroupSummary.Add(SummaryItemType.Sum, "VOLUMEN", null, "Total Volume ={0:N2}");


            //gridView1.Columns["VALOR PEDIDO"].Summary.Add(DevExpress.Data.SummaryItemType.Average, "VALOR PEDIDO", "Avg={0:n2}");
            //gridView1.Columns["VALOR PEDIDO"].Summary.Add(DevExpress.Data.SummaryItemType.Sum, "VALOR PEDIDO", "Sum={0}");
            //GridColumnSummaryItem item = new GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Max, "VALOR PEDIDO", "Max={0}");
            //gridView1.Columns["VALOR PEDIDO"].Summary.Add(item);

            //gridView1.Columns["UNIDADES PEDIDAS"].Summary.Add(DevExpress.Data.SummaryItemType.Average, "UNIDADES PEDIDAS", "Avg={0:n2}");
            //gridView1.Columns["UNIDADES PEDIDAS"].Summary.Add(DevExpress.Data.SummaryItemType.Sum, "UNIDADES PEDIDAS", "Sum={0}");
            //GridColumnSummaryItem item2 = new GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Max, "UNIDADES PEDIDAS", "Max={0}");
            //gridView1.Columns["UNIDADES PEDIDAS"].Summary.Add(item2);

            //gridView1.Columns["PESO_BRUTO"].Summary.Add(DevExpress.Data.SummaryItemType.Average, "PESO_BRUTO", "Avg={0:n2}");
            //gridView1.Columns["PESO_BRUTO"].Summary.Add(DevExpress.Data.SummaryItemType.Sum, "PESO_BRUTO", "Sum={0}");
            //GridColumnSummaryItem item3 = new GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Max, "PESO_BRUTO", "Max={0}");
            //gridView1.Columns["PESO_BRUTO"].Summary.Add(item3);

            //gridView1.Columns["VOLUMEN"].Summary.Add(DevExpress.Data.SummaryItemType.Average, "VOLUMEN", "Avg={0:n2}");
            //gridView1.Columns["VOLUMEN"].Summary.Add(DevExpress.Data.SummaryItemType.Sum, "VOLUMEN", "Sum={0}");
            //GridColumnSummaryItem item4 = new GridColumn SummaryItem(DevExpress.Data.SummaryItemType.Max, "VOLUMEN", "Max={0}");
            //gridView1.Columns["VOLUMEN"].Summary.Add(item4);



            groupControl1.Text     = "Fillaje & Capacidades";
            barStaticItem1.Caption = Convert.ToString(gridView1.RowCount) + " Registros";
        }
        private void GridView_AttendanceData_CustomSummaryCalculate(object sender, DevExpress.Data.CustomSummaryEventArgs e)
        {
            GridView view = sender as GridView;

            if (e.IsTotalSummary && (e.Item as GridSummaryItem).FieldName == "OverTime")
            {
                GridSummaryItem item = e.Item as GridSummaryItem;
                if (item.FieldName == "OverTime")
                {
                    e.TotalValue = ConvertTo.MinutesToHours(view.Columns["OverTime_1"].SummaryText);
                }
            }
        }
Ejemplo n.º 11
0
        private void GridView_SalaryProcess_CustomSummaryCalculate(object sender, DevExpress.Data.CustomSummaryEventArgs e)
        {
            GridView view = sender as GridView;

            if (e.IsTotalSummary && (e.Item as GridSummaryItem).FieldName == "EmpSalary")
            {
                GridSummaryItem item = e.Item as GridSummaryItem;
                if (item.FieldName == "EmpSalary")
                {
                    //e.TotalValue = ConvertTo.MinutesToHours(view.Columns["EmpSalary"].SummaryText);
                }
            }
        }
Ejemplo n.º 12
0
Archivo: XGrid.cs Proyecto: JWPLAY/AUBE
        public void GroupSummaryAdd(GridSummaryItem item)
        {
            switch (GridViewType)
            {
            case GridViewType.GridView:
            case GridViewType.BandedGridView:
            case GridViewType.AdvBandedGridView:
                ((GridView)MainView).GroupSummary.Add(item);
                break;

            default:
                break;
            }
        }
Ejemplo n.º 13
0
        private void WhMatGridView_CustomSummaryCalculate(object sender, CustomSummaryEventArgs e)
        {
            if (e.SummaryProcess == CustomSummaryProcess.Finalize && wh_mat_list != null)
            {
                var def_m = DBHelper.MeasuresList.FirstOrDefault(w => w.Def == 1);

                GridSummaryItem item = e.Item as GridSummaryItem;

                if (item.FieldName == "Remain")
                {
                    var amount_sum = wh_mat_list.Where(w => w.MId == def_m.MId).Sum(s => s.Remain ?? 0);

                    /*  var ext_sum = _db.WaybillDet.Where(w => w.WbillId == _wbill_id && w.Materials.MId != def_m.MId)
                     *    .Select(s => new { MaterialMeasures = s.Materials.MaterialMeasures.Where(f => f.MId == def_m.MId), s.Amount }).ToList()
                     *    .SelectMany(sm => sm.MaterialMeasures, (k, n) => new { k.Amount, MeasureAmount = n.Amount }).Sum(su => su.MeasureAmount * su.Amount);*/

                    e.TotalValue = amount_sum.ToString() + " " + def_m.ShortName;//Math.Round(amount_sum + ext_sum, 2);
                }
            }
        }
        string GetToolTipText(GridColumn column)
        {
            string text = "";

            if (column == null)
            {
                return(text);
            }
            Hashtable summaryValues = view.GetGroupSummaryValues(hitInfo.RowHandle);

            foreach (DictionaryEntry itemObject in summaryValues)
            {
                GridSummaryItem item = itemObject.Key as GridSummaryItem;
                if (item.FieldName == column.FieldName)
                {
                    text = item.GetDisplayText(summaryValues[item], false);
                    break;
                }
            }
            return(text);
        }
Ejemplo n.º 15
0
        private async void GetStoresByDateRange()
        {
            stores = await _storeManager.GetStoresByDateRange(this.dateFrom, this.dateTo);

            selectedStoreId         = 0;
            gridControl1.DataSource = null;
            foreach (GridColumn column in gridView1.Columns)
            {
                GridSummaryItem item = column.SummaryItem;
                if (item != null)
                {
                    column.Summary.Remove(item);
                }
            }
            if (stores.Any())
            {
                var source = stores.Select(m => new BrowseStoreGridItem
                {
                    StoreId    = m.StoreId,
                    User       = m.Firstname + " " + m.Lastname,
                    NetSales   = m.NetSales,
                    GrossSales = m.TotalSales,
                    DateOpened = m.DateOpen
                });
                gridControl1.DataSource = source;
                GridColumnSummaryItem item1 = new GridColumnSummaryItem(SummaryItemType.Sum, "GrossSales", "{0:N}");
                gridView1.Columns["GrossSales"].Summary.Add(item1);
                GridColumnSummaryItem item2 = new GridColumnSummaryItem(SummaryItemType.Sum, "NetSales", "{0:N}");
                gridView1.Columns["NetSales"].Summary.Add(item2);
            }
            //foreach (var store in stores)
            //{
            //    ListViewItem lvi = new ListViewItem(store.StoreId.ToString());
            //    lvi.SubItems.Add(store.DateOpen.ToString("MMM. dd hh:mm tt"));
            //    lvi.SubItems.Add(store.Firstname + " " + store.Lastname);
            //    lvi.SubItems.Add($@"{ store.TotalSales.ToString("C2").Replace("$", "") }");
            //    lvi.SubItems.Add($@"{ store.NetSales.ToString("C2").Replace("$", "") }");
            //    lvwStores.Items.Add(lvi);
            //}
        }
        static void OnGridControlStartSorting(object sender, RoutedEventArgs e)
        {
            GridControl Grid = (GridControl)sender;

            if (!GetSortGroupSummaryWithColumn(Grid) ||
                GetAlreadyHandled(Grid))
            {
                return;
            }
            SetAlreadyHandled(Grid, true);

            foreach (GridSortInfo sortInfo in Grid.SortInfo)
            {
                GridSummaryItem summaryItem = FindGridSummaryItem(Grid, sortInfo.FieldName);
                if (summaryItem != null)
                {
                    ArrayList groupedColumns  = GetGroupedColumns(Grid);
                    ArrayList newSortInfoList = new ArrayList();
                    foreach (GridColumn col in groupedColumns)
                    {
                        GridGroupSummarySortInfo groupSummaryInfo = FindGridGroupSummarySortInfo(Grid, summaryItem.FieldName);
                        if (groupSummaryInfo != null &&
                            groupSummaryInfo.SortOrder == sortInfo.SortOrder)
                        {
                            continue;
                        }

                        GridGroupSummarySortInfo newSortInfo = new GridGroupSummarySortInfo(summaryItem,
                                                                                            col.FieldName,
                                                                                            sortInfo.SortOrder);
                        newSortInfoList.Add(newSortInfo);
                        e.Handled = true;
                    }
                    Grid.GroupSummarySortInfo.AddRange((GridGroupSummarySortInfo[])newSortInfoList.ToArray(typeof(GridGroupSummarySortInfo)));
                    continue;
                }
            }

            SetAlreadyHandled(Grid, false);
        }
Ejemplo n.º 17
0
        public static GridColumn GetColumn(
            string fieldName,
            string caption,
            int width,
            bool isAllowEdit            = true,
            bool fixedWidth             = true,
            RepositoryItem itemCtrl     = null,
            GridSummaryItem summaryItem = null)
        {
            GridColumn col = new GridColumn
            {
                Caption   = caption,
                Name      = fieldName,
                FieldName = fieldName,
                Visible   = true,
                Width     = width
            };

            col.OptionsColumn.AllowEdit = isAllowEdit;
            col.AppearanceHeader.Options.UseTextOptions = true;
            col.AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
            col.OptionsColumn.FixedWidth = fixedWidth;

            if (itemCtrl != null)
            {
                col.ColumnEdit = itemCtrl;
            }

            // Add Summary Item
            if (summaryItem != null)
            {
                col.Summary.Add(summaryItem);
            }

            return(col);
        }
Ejemplo n.º 18
0
        private void gvDetallePedido_CustomDrawFooterCell(object sender, FooterCellCustomDrawEventArgs e)
        {
            GridSummaryItem summary = e.Info.SummaryItem;

            // Obtain the total summary's value.
            switch (summary.FieldName)
            {
            case "Subtotal":
                txtSubtotal.Text = summary.SummaryValue.ToString();
                break;

            case "Total":
                txtTotal.Text = summary.SummaryValue.ToString();
                break;

            case "IVA":
                txtIVA.Text = summary.SummaryValue.ToString();
                break;

            case "IEPS":
                txtIEPS.Text = summary.SummaryValue.ToString();
                break;
            }
        }
Ejemplo n.º 19
0
        public Collection <GridSummaryItem> GetGridSummary()
        {
            var gridSummary      = SqlServer.GetGridSummary();
            var areaLayerSummary = SqlServer.GetAreaLayerSummary();

            var gridSummaryItems = new Collection <GridSummaryItem>();

            foreach (var gridItem in gridSummary)
            {
                var gridSummaryItem = new GridSummaryItem(gridItem.Item1);
                foreach (var gridLayerItem in gridItem.Item2)
                {
                    var ninCode = Naturkodetrær.Naturvariasjon.HentFraKode(gridLayerItem.Code.Value);

                    var gridLayerSummaryItem = new GridLayerSummaryItem
                    {
                        Id          = gridLayerItem.Id,
                        DocGuid     = gridLayerItem.DocGuid,
                        Name        = gridLayerItem.Name,
                        Description = gridLayerItem.Description,
                        Established = gridLayerItem.Established,
                        MinValue    = gridLayerItem.MinValue,
                        MaxValue    = gridLayerItem.MaxValue,
                        Code        = gridLayerItem.Code.Value
                    };

                    if (ninCode != null)
                    {
                        gridLayerSummaryItem.CodeDescription = ninCode.Name;
                        gridLayerSummaryItem.CodeUrl         = ninCode.Url;
                    }

                    gridLayerSummaryItem.Owner     = gridLayerItem.Owner;
                    gridLayerSummaryItem.Documents = gridLayerItem.Documents;

                    gridSummaryItem.GridLayers.Add(gridLayerSummaryItem);
                }
                gridSummaryItems.Add(gridSummaryItem);
            }

            foreach (var areaItem in areaLayerSummary)
            {
                var areaSummaryItem = new GridSummaryItem(areaItem.Item1);
                foreach (var areaLayerItem in areaItem.Item2)
                {
                    var ninCode = Naturkodetrær.Naturvariasjon.HentFraKode(areaLayerItem.Code.Value);

                    var areaLayerSummaryItem = new GridLayerSummaryItem
                    {
                        Id          = areaLayerItem.Id,
                        DocGuid     = areaLayerItem.DocGuid,
                        Name        = areaLayerItem.Name,
                        Description = areaLayerItem.Description,
                        Established = areaLayerItem.Established,
                        MinValue    = areaLayerItem.MinValue,
                        MaxValue    = areaLayerItem.MaxValue,
                        Code        = areaLayerItem.Code.Value
                    };

                    if (ninCode != null)
                    {
                        areaLayerSummaryItem.CodeDescription = ninCode.Name;
                        areaLayerSummaryItem.CodeUrl         = ninCode.Url;
                    }

                    areaLayerSummaryItem.Owner     = areaLayerItem.Owner;
                    areaLayerSummaryItem.Documents = areaLayerItem.Documents;

                    areaSummaryItem.GridLayers.Add(areaLayerSummaryItem);
                }
                gridSummaryItems.Add(areaSummaryItem);
            }

            return(gridSummaryItems);
        }
        private void BuscarRomaneo()
        {
            CooperativaProduccionEntities Context = new CooperativaProduccionEntities();

            Expression <Func <Vw_Romaneo, bool> > pred = x => true;

            pred = pred.And(x => x.FechaRomaneo >= dpDesdeRomaneo.Value.Date &&
                            x.FechaRomaneo <= dpHastaRomaneo.Value.Date);

            pred = !string.IsNullOrEmpty(txtFet.Text) ? pred.And(x => x.ProductorId == ProductorId) : pred;

            pred = !string.IsNullOrEmpty(cbTabaco.Text) ? pred.And(x => x.Tabaco == cbTabaco.Text) : pred;

            var result =
                (from a in Context.Vw_Romaneo
                 .Where(pred)
                 select new
            {
                ID = a.PesadaId,
                FECHA = a.FechaRomaneo,
                NUMROMANEO = a.NumRomaneo,
                PRODUCTOR = a.NOMBRE,
                CUIT = a.CUIT,
                FET = a.nrofet,
                PROVINCIA = a.Provincia,
                KILOS = a.TotalKg,
                BRUTOSINIVA = a.ImporteBruto,
                TABACO = a.Tabaco
            })
                .OrderBy(x => x.NUMROMANEO)
                .ToList();

            gridControlRomaneo.DataSource      = result;
            gridViewRomaneo.Columns[0].Visible = false;
            gridViewRomaneo.Columns[1].Caption = "Fecha Romaneo";
            gridViewRomaneo.Columns[1].Width   = 60;
            gridViewRomaneo.Columns[1].AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
            gridViewRomaneo.Columns[1].AppearanceCell.TextOptions.HAlignment   = HorzAlignment.Center;
            gridViewRomaneo.Columns[2].Caption = "Número Romaneo";
            gridViewRomaneo.Columns[2].Width   = 60;
            gridViewRomaneo.Columns[2].AppearanceCell.TextOptions.HAlignment   = HorzAlignment.Center;
            gridViewRomaneo.Columns[2].AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
            gridViewRomaneo.Columns[3].Caption = "Productor";
            gridViewRomaneo.Columns[3].Width   = 150;
            gridViewRomaneo.Columns[4].Caption = "CUIT";
            gridViewRomaneo.Columns[4].Width   = 75;
            gridViewRomaneo.Columns[5].Caption = "FET";
            gridViewRomaneo.Columns[5].Width   = 55;
            gridViewRomaneo.Columns[5].AppearanceCell.TextOptions.HAlignment   = HorzAlignment.Center;
            gridViewRomaneo.Columns[5].AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
            gridViewRomaneo.Columns[6].Caption = "Provincia";
            gridViewRomaneo.Columns[6].Width   = 60;
            gridViewRomaneo.Columns[6].AppearanceCell.TextOptions.HAlignment   = HorzAlignment.Center;
            gridViewRomaneo.Columns[6].AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
            gridViewRomaneo.Columns[7].Caption = "Kilos";
            gridViewRomaneo.Columns[7].Width   = 70;
            gridViewRomaneo.Columns[7].AppearanceCell.TextOptions.HAlignment   = HorzAlignment.Center;
            gridViewRomaneo.Columns[7].AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
            gridViewRomaneo.Columns[8].Caption = "Bruto";
            gridViewRomaneo.Columns[8].Width   = 60;
            gridViewRomaneo.Columns[8].AppearanceCell.TextOptions.HAlignment   = HorzAlignment.Center;
            gridViewRomaneo.Columns[8].AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
            gridViewRomaneo.Columns[9].Caption = "Tabaco";
            gridViewRomaneo.Columns[9].Width   = 80;
            gridViewRomaneo.Columns[9].AppearanceCell.TextOptions.HAlignment   = HorzAlignment.Center;
            gridViewRomaneo.Columns[9].AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;

            for (var i = 0; i <= gridViewRomaneo.RowCount; i++)
            {
                gridViewRomaneo.SelectRow(i);
            }
            foreach (GridColumn column in gridViewRomaneo.Columns)
            {
                GridSummaryItem item = column.SummaryItem;
                if (item != null)
                {
                    column.Summary.Remove(item);
                }
            }
            gridViewRomaneo.Columns["KILOS"].Summary.Add(DevExpress.Data.SummaryItemType.Sum, "KILOS", "{0}");
            gridViewRomaneo.Columns["BRUTOSINIVA"].Summary.Add(DevExpress.Data.SummaryItemType.Sum, "BRUTOSINIVA", "{0}");
            gridViewRomaneo.Appearance.FooterPanel.TextOptions.HAlignment = HorzAlignment.Center;
            gridViewRomaneo.Appearance.FooterPanel.Options.UseTextOptions = true;
        }
Ejemplo n.º 21
0
        private async void LoadTransactions()
        {
            if (Global.Store.StoreID == 0)
            {
                _transactions = await _saleManager.GetTransactions();
            }
            else
            {
                _transactions = await _saleManager.GetTransactionsByStoreID(Global.Store.StoreID);
            }

            //listView1.Items.Clear();
            lblTotal.Text = string.Empty;
            decimal subtotal = 0;

            gridControl1.DataSource = null;
            foreach (GridColumn column in gridView1.Columns)
            {
                GridSummaryItem item = column.SummaryItem;
                if (item != null)
                {
                    column.Summary.Remove(item);
                }
            }
            if (_transactions.Any())
            {
                var source = _transactions.Select(m => new SalesGridItem()
                {
                    Items      = m.Items,
                    Total      = m.Total,
                    User       = m.Firstname + " " + m.Lastname,
                    AmountPaid = m.AmountPaid,
                    Change     = m.Change,
                    Date       = m.DateTime,
                    Id         = m.SaleID,
                    Time       = m.DateTime
                });

                gridControl1.DataSource = source;
                GridColumnSummaryItem item1 = new GridColumnSummaryItem(SummaryItemType.Sum, "Total", "{0:N}");
                gridView1.Columns["Total"].Summary.Add(item1);
            }
            //foreach (SaleDTO transaction in _transactions)
            //{
            //    ListViewItem lvi = new ListViewItem(transaction.SaleID.ToString());

            //    lvi.SubItems.Add(transaction.DateStr);
            //    lvi.SubItems.Add(transaction.TimeStr);
            //    lvi.SubItems.Add(transaction.Items);
            //    lvi.SubItems.Add(transaction.Total.ToString("C2").Replace("$", ""));
            //    lvi.SubItems.Add(transaction.AmountPaid.ToString("C2").Replace("$", ""));
            //    lvi.SubItems.Add(transaction.Change.ToString("C2").Replace("$", ""));
            //    lvi.SubItems.Add($@"{ transaction.Firstname } { transaction.Lastname }");

            //    listView1.Items.Add(lvi);

            //    subtotal += transaction.Total;
            //}
            subtotal      = _transactions.Sum(m => m.Total);
            lblTotal.Text = $@"Total Sales: { subtotal.ToString("C2").Replace("$", "") }";
        }
Ejemplo n.º 22
0
        private void BuscarCajaConsulta(string cajas)
        {
            int Campaña = int.Parse(cbCampaña.Text);

            var ProductoId = Guid.Parse(cbProductoConsulta.SelectedValue.ToString());

            Expression <Func <Caja, bool> > pred = x => true;

            pred = checkCampaña.Checked ?
                   pred.And(x => x.Campaña == Campaña) : pred;

            pred = pred.And(x => x.ProductoId == ProductoId);

            pred = checkSinCata.Checked ? pred.And(x => x.CataId == null) : pred;

            if (!string.IsNullOrEmpty(cajas))
            {
                var cantidad = int.Parse(txtCantidadCajaConsulta.Text);

                var result =
                    (from c in Context.Caja.OrderBy(x => x.NumeroCaja)
                     .Where(pred).Take(cantidad)
                     join p in Context.Vw_Producto
                     on c.ProductoId equals p.ID into pr
                     from cp in pr.DefaultIfEmpty()
                     join ca in Context.Cata
                     on c.CataId equals ca.Id into cat
                     from joined in cat.DefaultIfEmpty()
                     select new CajaCata
                {
                    Id = c.Id,
                    Campaña = c.Campaña,
                    NumLote = c.LoteCaja,
                    NumCaja = c.NumeroCaja,
                    Producto = cp.DESCRIPCION,
                    Tara = c.Tara,
                    Neto = c.Neto,
                    Bruto = c.Bruto,
                    Cata = joined.NumCata,
                    OrdenVentaId = c.OrdenVentaId,
                    NumOrden = c.OrdenVenta != null ? c.OrdenVenta.NumOrden : (long?)null,
                    ConRemito = c.OrdenVenta.Remito.FirstOrDefault() != null ? "SI" : "NO"
                })

                    .OrderBy(x => x.Campaña)
                    .ThenBy(x => x.NumCaja)
                    .ToList();

                gridControlCajaConsulta.DataSource = result;
                ListCajaCata = result.ToList <CajaCata>();
            }
            else
            {
                var result =
                    (from c in Context.Caja
                     .Where(pred)
                     join p in Context.Vw_Producto
                     on c.ProductoId equals p.ID into pr
                     from cp in pr.DefaultIfEmpty()
                     join ca in Context.Cata
                     on c.CataId equals ca.Id into cat
                     from joined in cat.DefaultIfEmpty()
                     select new CajaCata
                {
                    Id = c.Id,
                    Campaña = c.Campaña,
                    NumLote = c.LoteCaja,
                    NumCaja = c.NumeroCaja,
                    Producto = cp.DESCRIPCION,
                    Tara = c.Tara,
                    Neto = c.Neto,
                    Bruto = c.Bruto,
                    Cata = joined.NumCata,
                    OrdenVentaId = c.OrdenVentaId,
                    NumOrden = c.OrdenVenta != null ? c.OrdenVenta.NumOrden : (long?)null,
                    ConRemito = c.OrdenVenta.Remito.FirstOrDefault() != null ? "SI" : "NO"
                })
                    .OrderBy(x => x.Campaña)
                    .ThenBy(x => x.NumCaja)
                    .ToList();

                gridControlCajaConsulta.DataSource = result;
                ListCajaCata = result.ToList <CajaCata>();
            }

            gridViewCajaConsulta.Columns[0].Visible  = false;
            gridViewCajaConsulta.Columns[1].Caption  = "Campaña";
            gridViewCajaConsulta.Columns[1].Width    = 90;
            gridViewCajaConsulta.Columns[2].Caption  = "N° Lote";
            gridViewCajaConsulta.Columns[2].Width    = 110;
            gridViewCajaConsulta.Columns[3].Caption  = "N° Caja";
            gridViewCajaConsulta.Columns[3].Width    = 110;
            gridViewCajaConsulta.Columns[4].Caption  = "Producto";
            gridViewCajaConsulta.Columns[4].Width    = 100;
            gridViewCajaConsulta.Columns[5].Caption  = "Tara";
            gridViewCajaConsulta.Columns[5].Width    = 100;
            gridViewCajaConsulta.Columns[6].Caption  = "Neto";
            gridViewCajaConsulta.Columns[6].Width    = 100;
            gridViewCajaConsulta.Columns[7].Caption  = "Bruto";
            gridViewCajaConsulta.Columns[7].Width    = 100;
            gridViewCajaConsulta.Columns[8].Caption  = "N° Cata";
            gridViewCajaConsulta.Columns[8].Width    = 200;
            gridViewCajaConsulta.Columns[9].Visible  = false;
            gridViewCajaConsulta.Columns[10].Visible = false;
            gridViewCajaConsulta.Columns[11].Caption = "Remito";
            gridViewCajaConsulta.Columns[11].Width   = 100;

            for (var i = 0; i <= gridViewCajaConsulta.RowCount; i++)
            {
                gridViewCajaConsulta.SelectRow(i);
            }
            foreach (GridColumn column in gridViewCajaConsulta.Columns)
            {
                GridSummaryItem item = column.SummaryItem;
                if (item != null)
                {
                    column.Summary.Remove(item);
                }
            }
            gridViewCajaConsulta.Columns["NumCaja"].Summary.Add(DevExpress.Data.SummaryItemType.Count, "NumCaja", "Total Cajas : {0}");
            gridViewCajaConsulta.Appearance.FooterPanel.TextOptions.HAlignment = HorzAlignment.Center;
            gridViewCajaConsulta.Appearance.FooterPanel.Options.UseTextOptions = true;
        }
Ejemplo n.º 23
0
        private void CreateBand(List <BandInfo> Bands, GridBand RootBand)
        {
            this.bandedGridView1.Bands.Clear();
            foreach (BandInfo bandinfo in Bands)
            {
                GridBand gridband = new GridBand();
                gridband.AppearanceHeader.Options.UseTextOptions = true;
                gridband.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                gridband.AppearanceHeader.TextOptions.WordWrap   = DevExpress.Utils.WordWrap.Wrap;
                gridband.Caption        = bandinfo.HanderTitle;
                gridband.ImageAlignment = StringAlignment.Far;
                gridband.Width          = bandinfo.Width;
                gridband.MinWidth       = bandinfo.Width;
                if (bandinfo.Bands != null && bandinfo.Bands.Count > 0)
                {
                    CreateBand(bandinfo.Bands, gridband);
                }
                else
                {
                    // 开始生成列
                    BandedGridColumn column = new BandedGridColumn();
                    column.Visible   = true;
                    column.FieldName = bandinfo.FieldName;
                    column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                    column.AppearanceCell.ForeColor = m_CommonForeColor;
                    column.OptionsColumn.AllowMerge = DevExpress.Utils.DefaultBoolean.False;
                    column.Caption = bandinfo.HanderTitle;



                    if (!string.IsNullOrEmpty(column.FieldName))
                    {
                        column.Name = column.FieldName;
                    }
                    this.bandedGridView1.Columns.Add(column);
                    gridband.Columns.Add(column);

                    if (bandinfo.SummaryTypeList != null)
                    {
                        for (int i = 0; i < bandinfo.SummaryTypeList.Count; i++)
                        {
                            GridSummaryItem item0 = column.SummaryItem.Collection.Add();
                            item0.FieldName     = column.FieldName;
                            item0.SummaryType   = bandinfo.SummaryTypeList[i];
                            item0.DisplayFormat = bandinfo.DisplayFormatList[i];
                        }
                    }
                    else
                    {
                        if (bandinfo.SummaryType != SummaryItemType.None)
                        {
                            column.SummaryItem.SummaryType = bandinfo.SummaryType;
                        }

                        if (!string.IsNullOrEmpty(bandinfo.DisplayFormat))
                        {
                            column.SummaryItem.DisplayFormat = bandinfo.DisplayFormat;
                        }
                    }

                    if (bandinfo.IsFix)
                    {
                        gridband.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left;
                    }
                }

                if (RootBand == null)
                {
                    this.bandedGridView1.Bands.Add(gridband);
                }
                else
                {
                    RootBand.Children.Add(gridband);
                }
            }
        }
Ejemplo n.º 24
0
        protected virtual void Attach(GridView view)
        {
            if (view == null)
            {
                return;
            }
            if (view.Columns[CheckFieldName] != null)
            {
                return;
            }
            //
            selection.Clear();
            this._view = view;
            view.BeginUpdate();
            try {
                edit = view.GridControl.RepositoryItems.Add("CheckEdit") as RepositoryItemCheckEdit;

                column = view.Columns.Add();
                column.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False;
                column.Visible      = true;
                column.VisibleIndex = 0;
                column.FieldName    = CheckFieldName;
                column.Caption      = "Mark";
                column.OptionsColumn.ShowCaption = false;
                column.OptionsColumn.AllowEdit   = false;
                column.OptionsColumn.AllowSize   = false;
                column.UnboundType = DevExpress.Data.UnboundColumnType.Boolean;
                column.Width       = GetCheckBoxWidth();
                column.ColumnEdit  = edit;
                // --- summary items (for both group and total field)
                column.SummaryItem.FieldName   = column.FieldName;
                column.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Custom;

                /*view.CustomDrawFooterCell += (s, e) => {
                 * if (e.Column == column) {
                 *  e.Info.DisplayText = string.Format("{0}", selection.Count);
                 * }
                 * };*/
                int selectCount = 0;
                view.CustomSummaryCalculate += (s, e) => {
                    GridView        gv  = s as GridView;
                    GridSummaryItem gsi = e.Item as GridSummaryItem;
                    if (gv == null || gsi == null)
                    {
                        return;
                    }
                    // Initialization
                    if (e.SummaryProcess == CustomSummaryProcess.Start)
                    {
                        selectCount = 0;
                    }
                    // Calculation
                    if (e.SummaryProcess == CustomSummaryProcess.Calculate)
                    {
                        if (IsRowSelected(e.RowHandle))
                        {
                            ++selectCount;
                        }
                    }
                    // Finalization
                    if (e.SummaryProcess == CustomSummaryProcess.Finalize)
                    {
                        e.TotalValue = selectCount;
                    }
                };
                GridGroupSummaryItem item = new GridGroupSummaryItem();
                item.FieldName               = column.FieldName;
                item.SummaryType             = DevExpress.Data.SummaryItemType.Custom;
                item.ShowInGroupColumnFooter = column;
                view.GroupSummary.Add(item);
                // ---
                view.Click += new EventHandler(View_Click);
                view.CustomDrawColumnHeader  += new ColumnHeaderCustomDrawEventHandler(View_CustomDrawColumnHeader);
                view.CustomDrawGroupRow      += new RowObjectCustomDrawEventHandler(View_CustomDrawGroupRow);
                view.CustomUnboundColumnData += new CustomColumnDataEventHandler(view_CustomUnboundColumnData);
                view.KeyDown  += new KeyEventHandler(view_KeyDown);
                view.RowStyle += new RowStyleEventHandler(view_RowStyle);
            }
            finally {
                view.EndUpdate();
            }
        }
Ejemplo n.º 25
0
        void InitGrid()
        {
            gridList.Init();
            gridList.ShowFooter = true;
            gridList.AddGridColumns(
                new XGridColumn()
            {
                FieldName = "ROW_NO"
            },
                new XGridColumn()
            {
                FieldName = "PRODUCT_TYPE", HorzAlignment = HorzAlignment.Center, Width = 80
            },
                new XGridColumn()
            {
                FieldName = "CATEGORY", HorzAlignment = HorzAlignment.Center, Width = 100
            },
                new XGridColumn()
            {
                FieldName = "PRODUCT_ID", HorzAlignment = HorzAlignment.Center, Width = 100, Visible = false
            },
                new XGridColumn()
            {
                FieldName = "PRODUCT_CODE", HorzAlignment = HorzAlignment.Center, Width = 100
            },
                new XGridColumn()
            {
                FieldName = "PRODUCT_NAME", Width = 200
            },
                new XGridColumn()
            {
                FieldName = "SALE_AMT", Caption = "당월매출", HorzAlignment = HorzAlignment.Far, Width = 110, FormatType = FormatType.Numeric, FormatString = "N0", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Sum
            },
                new XGridColumn()
            {
                FieldName = "BASE_AMT", Caption = "기초재고", HorzAlignment = HorzAlignment.Far, Width = 110, FormatType = FormatType.Numeric, FormatString = "N0", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Sum
            },
                new XGridColumn()
            {
                FieldName = "PURC_AMT", Caption = "당월매입", HorzAlignment = HorzAlignment.Far, Width = 110, FormatType = FormatType.Numeric, FormatString = "N0", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Sum
            },
                new XGridColumn()
            {
                FieldName = "PROD_AMT", Caption = "당월생산", HorzAlignment = HorzAlignment.Far, Width = 110, FormatType = FormatType.Numeric, FormatString = "N0", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Sum
            },
                new XGridColumn()
            {
                FieldName = "ADJS_AMT", Caption = "당월조정", HorzAlignment = HorzAlignment.Far, Width = 110, FormatType = FormatType.Numeric, FormatString = "N0", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Sum
            },
                new XGridColumn()
            {
                FieldName = "BLNC_AMT", Caption = "기말재고", HorzAlignment = HorzAlignment.Far, Width = 110, FormatType = FormatType.Numeric, FormatString = "N0", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Sum
            },
                new XGridColumn()
            {
                FieldName = "COST_AMT", Caption = "매출원가", HorzAlignment = HorzAlignment.Far, Width = 110, FormatType = FormatType.Numeric, FormatString = "N0", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Sum
            },
                new XGridColumn()
            {
                FieldName = "PRFT_AMT", Caption = "매출이익", HorzAlignment = HorzAlignment.Far, Width = 110, FormatType = FormatType.Numeric, FormatString = "N0", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Sum
            },
                new XGridColumn()
            {
                FieldName = "PRFT_RAT", Caption = "이익율(%)", HorzAlignment = HorzAlignment.Far, Width = 80, FormatType = FormatType.Numeric, FormatString = "P2", IsSummary = true, SummaryItemType = DevExpress.Data.SummaryItemType.Custom
            },
                new XGridColumn()
            {
                FieldName = "INS_TIME"
            },
                new XGridColumn()
            {
                FieldName = "INS_USER", Visible = false
            },
                new XGridColumn()
            {
                FieldName = "INS_USER_NAME"
            },
                new XGridColumn()
            {
                FieldName = "UPD_TIME"
            },
                new XGridColumn()
            {
                FieldName = "UPD_USER", Visible = false
            },
                new XGridColumn()
            {
                FieldName = "UPD_USER_NAME"
            }
                );

            gridList.SetMerge("PRODUCT_TYPE", "CATEGORY");

            gridList.SetColumnBackColor(SkinUtils.ForeColor, "ROW_NO");
            gridList.SetColumnForeColor(SkinUtils.BackColor, "ROW_NO");

            gridList.RowCellStyle += delegate(object sender, RowCellStyleEventArgs e)
            {
                if (e.RowHandle < 0)
                {
                    return;
                }

                try
                {
                    if (e.Column.FieldName.EndsWith("_QTY") ||
                        e.Column.FieldName.EndsWith("_AMT"))
                    {
                        if (e.CellValue.ToDecimalNullToZero() < 0)
                        {
                            e.Appearance.ForeColor = Color.Red;
                        }
                    }
                }
                catch (Exception ex)
                {
                    ShowErrBox(ex);
                }
            };

            (gridList.MainView as GridView).CustomSummaryCalculate += delegate(object sender, DevExpress.Data.CustomSummaryEventArgs e)
            {
                try
                {
                    GridView        view = sender as GridView;
                    GridSummaryItem col  = e.Item as GridSummaryItem;
                    if (col == null)
                    {
                        return;
                    }

                    if (e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Finalize)
                    {
                        if (col.FieldName.Equals("PRFT_RAT"))
                        {
                            decimal den = view.Columns["SALE_AMT"].SummaryItem.SummaryValue.ToDecimalNullToZero();
                            decimal num = view.Columns["PRFT_AMT"].SummaryItem.SummaryValue.ToDecimalNullToZero();
                            e.TotalValue = (den > 0 && num > 0) ? num / den : 0;
                        }
                    }
                }
                catch (Exception ex)
                {
                    ShowErrBox(ex);
                }
            };
        }