none
ArrayList recebedno itens de um list. RRS feed

  • Pergunta

  • Preciso criar um gráfico de pizza usando o componente chart do asp.net, tenho uma list que traz os dados ja calculados, porém não os dados estão separados então não consigo usar em uma serie do char. então estava pensando em passar as propriedades que vou preencher os dados do chart que estão num list para um arraylist ai uso este array list para popular o chart.

    Mas ai não sei se consigo pegar itens que tenho no meu list e adicionar no arraylist. tipo:

    Aqui tenho meu list:

         List<IB.AnalysisOfferSum> list = IB.AnalysisOfferSum.ListAnalysisOfferSum(ChurchID);

    Dentro deste list tenho varias propriedades como total_lucro_ano1, total_imposto_ano1 e total_geral_ano1 (porem trago estas propriedades dos últimos 5 anos) por isso não consigo usar em uma só serie do controle chart.

    Ai queria pegar estas propiedades e adicionar a um arraylist pis tenho string e tenho decimal.

    Ai no array list eu ia rceber tipo assim:

    ArrayList alist = new ArrayList();

    //adicionando decimal alist.Add(list[total_lucro_ano1],[total_juros_ano1, total_geral_ano1])

    //adicionando os titulos string alist.Add("lucro","juros", "geral")

    Porém não sei se consigo fazer isso.

    Ai ia popular o chart com  este arraylist;

     Chartteste.DataSource = alist;
                Chartteste.DataBind();

    Se alguém tem uma ideia melhor ou sabe se consigo extrair as propriedades(valores) da minha lista me dê um toque por favor.

    att.


    Moizés Cerqueira | MCP / MCTS SQL SERVER

    quinta-feira, 13 de dezembro de 2012 18:57

Respostas

  • Resolvi da seguinte forma: Criei um datatable e adiciono 2 colunas com os valores da minha lista:

                IB.AnalysisOfferSum objAl = IB.AnalysisOfferSum.AnalysisOfferSumOneChurch(ChurchID);
    
                DataTable dt = new DataTable();
    
                //Para criar as colunas:
    
                dt.Columns.Add("Percent", typeof(decimal));
                dt.Columns.Add("Title", typeof(string));
    
    
                //  Para adicionar linhas:
    
                dt.Rows.Add(new object[] { objAl.PLocal_1, "Local" });
                dt.Rows.Add(new object[] { objAl.PAssociation_1, "Sede" });
                dt.Rows.Add(new object[] { objAl.PMissionaties_1, "Investimento" });
    
    
                ChartPie.DataSource = dt;
                ChartPie.DataBind();
    


    Moizés Cerqueira | MCP / MCTS SQL SERVER

    sexta-feira, 14 de dezembro de 2012 14:29

Todas as Respostas

  • Cara,

    Não entendi o porque não pode dar o DataSource com o próprio List que já tem como retorno.
    Poderia explicar melhor?


    Atenciosamente,
    Samuel dos Anjos

    Atenciosamente, Samuel dos Anjos

    quinta-feira, 13 de dezembro de 2012 21:37
  • è que no meu list cada valor esta em uma coluna e ai o chart não consegue montar o gráfico em pizza da forma que preciso. Se eu fazer um novo conjunto de dados tipo uma arraylist ou datatable onde jogo os valores do list em uma coluna consigo montar o gráfico de pizza.

    Moizés Cerqueira | MCP / MCTS SQL SERVER

    sexta-feira, 14 de dezembro de 2012 10:32
  • Resolvi da seguinte forma: Criei um datatable e adiciono 2 colunas com os valores da minha lista:

                IB.AnalysisOfferSum objAl = IB.AnalysisOfferSum.AnalysisOfferSumOneChurch(ChurchID);
    
                DataTable dt = new DataTable();
    
                //Para criar as colunas:
    
                dt.Columns.Add("Percent", typeof(decimal));
                dt.Columns.Add("Title", typeof(string));
    
    
                //  Para adicionar linhas:
    
                dt.Rows.Add(new object[] { objAl.PLocal_1, "Local" });
                dt.Rows.Add(new object[] { objAl.PAssociation_1, "Sede" });
                dt.Rows.Add(new object[] { objAl.PMissionaties_1, "Investimento" });
    
    
                ChartPie.DataSource = dt;
                ChartPie.DataBind();
    


    Moizés Cerqueira | MCP / MCTS SQL SERVER

    sexta-feira, 14 de dezembro de 2012 14:29