protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }
            ucCategorias1.PreencherCategorias(false, null);

            var rel = new RelatorioSolucaoEducacionalPorCategoria();

            ListBoxesUFResponsavel.PreencherItens(rel.ObterUFTodos(), "ID", "Nome");
        }
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            var ids = ucCategorias1.IdsCategoriasMarcadas.Any()
                ? ucCategorias1.IdsCategoriasMarcadas
                : ucCategorias1.IdsCategoriasExistentes;

            var pUfResponsavel = ListBoxesUFResponsavel.RecuperarIdsSelecionados <int>();

            var consulta = new RelatorioSolucaoEducacionalPorCategoria().Consultar(ids.ToList(), pUfResponsavel.ToList()).ToList();

            if (consulta.Any())
            {
                // Converter os resultados em dados totalizadores.
                var totalizadores = new List <DTOTotalizador>
                {
                    TotalizadorUtil.GetTotalizador(consulta,
                                                   "Total da quantidade de Solução por categoria", "Categoria",
                                                   enumTotalizacaoRelatorio.Contar),
                    TotalizadorUtil.GetTotalizador(consulta,
                                                   "Total da quantidade de separadas por fornecedor", "Fornecedor",
                                                   enumTotalizacaoRelatorio.Contar),
                    TotalizadorUtil.GetTotalizador(consulta,
                                                   "Total da quantidade por forma de aquisição", "FormaAquisicao",
                                                   enumTotalizacaoRelatorio.Contar),
                    TotalizadorUtil.GetTotalizador(consulta,
                                                   "Total da quantidade por ativo (sim) e inativo (não)", "Ativo",
                                                   enumTotalizacaoRelatorio.Contar)
                };

                ucTotalizadorRelatorio.PreencherTabela(totalizadores);

                componenteGeracaoRelatorio.Visible = true;
                ucFormatoSaidaRelatorio.Visible    = true;
                btnConsultar.CssClass = "btn btn-default mostrarload";
                Filtros.CssClass      = "panel-collapse collapse";
            }
            else
            {
                ucTotalizadorRelatorio.LimparTotalizadores();
                componenteGeracaoRelatorio.Visible = false;
                ucFormatoSaidaRelatorio.Visible    = false;
            }

            dgRelatorio.DataSource = consulta;
            Session.Add("dsRelatorio", consulta);
            WebFormHelper.ValidarVisibilidadeCamposGrid(dgRelatorio, chkListaCamposVisiveis.Items);
        }