Example #1
0
        /// <summary>
        ///Seta o cálculo das células selecionadas no label
        /// Calculo em tempo de execução á medida em que as células são selecionadas.
        /// </summary>
        public void Somatorio()
        {
            //atualiza a barra
            AtualizarSomatorio();

            var selectedCells = gridView.GetSelectedCells();

            //se houver uma célula selecionada
            if (selectedCells != null)
            {
                //percorrer a array de celulas selecionadas
                foreach (GridCell item in selectedCells)
                {
                    string columnName = item.Column.FieldName;
                    int    index      = item.RowHandle;

                    //numero de linhas e colunas selecionadas
                    contagem++;
                    //pega o valor linha selecionada e coluna especifica
                    var valueAt = gridView.GetRowCellValue(index, columnName);

                    if (valueAt != null)
                    {
                        //pegue o valores específicos para cálculo
                        if (ParseUtil.InstanceOfDecimal(valueAt) ||
                            ParseUtil.InstanceOfDouble(valueAt) ||
                            ParseUtil.InstanceOfFloat(valueAt) ||
                            ParseUtil.InstanceOfLong(valueAt) ||
                            ParseUtil.InstanceOfInt(valueAt))
                        {
                            //FlyoutPanelSomatorio
                            soma += ParseUtil.ToDecimal(valueAt);

                            //contagem para cálculo da média separada para os tipos de objetos especificos
                            contagemDeCalculo++;
                        }
                    }
                }
            }

            //cacule a media somente se
            if (contagemDeCalculo > 0)
            {
                try
                {
                    media = soma / contagemDeCalculo;
                }
                catch (DivideByZeroException)
                {
                    media = 0;
                }
            }

            //seta a media calculada
            lblMedia.Text = media.ToString("N2");

            //a contagem eh o numero de linhas e colunas selecionadas percorridas no laco total
            lblContagem.Text = contagem.ToString("N2");

            //seta a soma
            lblSoma.Text = soma.ToString("N2");
        }