protected void btnPesquisar_Click(object sender, EventArgs e) { UsuarioWeb objUsuario = (UsuarioWeb)Session["ObjetoUsuario"]; string sCodigoRepresentante = ""; if (!cbkTodos.Checked) { sCodigoRepresentante = cbxRepresentante.SelectedValue.ToString(); } DataTable dtResult = HlpFuncoesVendas.GetVendasPorRepresentanteAnual(objUsuario.oTabelas, cbxAno.SelectedItem.Text, sCodigoRepresentante); DataTable dtFinal = new DataTable(); string sNomeRepresentante = ""; int iCount = 0; int iCountRepresentantes = 0; List<DadosGrafico> lDadosGrafico = new List<DadosGrafico>(); foreach (DataRow row in dtResult.Rows) { DadosGrafico stDadosGrafico = new DadosGrafico { sNmRepresentante = row["NM_VEND"].ToString(), sMes = row["MES"].ToString(), dTotal = Convert.ToDouble(row["TOTAL"].ToString()) }; string sMes = ""; string sTotal = ""; if (sNomeRepresentante != row["NM_VEND"].ToString()) { sNomeRepresentante = row["NM_VEND"].ToString(); iCountRepresentantes = 0; } if (iCountRepresentantes == 0) { iCountRepresentantes++; sMes = "MES" + iCount.ToString(); sTotal = "TOTAL" + iCount.ToString(); stDadosGrafico.sColumnMes = sMes; stDadosGrafico.sColumnTotal = sTotal; dtFinal.Columns.Add(new DataColumn(sTotal, System.Type.GetType("System.Double"))); dtFinal.Columns.Add(new DataColumn(sMes, System.Type.GetType("System.String"))); grafico.Series.Add(new Series { XValueMember = sMes, XValueType = ChartValueType.String, YValueMembers = sTotal, YValueType = ChartValueType.Double, ChartType = SeriesChartType.Column, LegendText = sNomeRepresentante, IsVisibleInLegend = true, IsValueShownAsLabel = true }); iCount++; } lDadosGrafico.Add(stDadosGrafico); } foreach (string m in lDadosGrafico.Select(c => c.sMes).Distinct()) { DataRow dr = dtFinal.NewRow(); foreach (DadosGrafico dg in lDadosGrafico.Where(c => c.sMes == m)) { string sColMes = lDadosGrafico.Where(c => c.sNmRepresentante == dg.sNmRepresentante && c.sColumnMes != "").FirstOrDefault().sColumnMes; string sColTot = lDadosGrafico.Where(c => c.sNmRepresentante == dg.sNmRepresentante && c.sColumnTotal != "").FirstOrDefault().sColumnTotal; dr[sColMes] = dg.sMes; dr[sColTot] = dg.dTotal.ToString("N2"); } dtFinal.Rows.Add(dr); } grafico.DataSource = dtFinal; grafico.DataBind(); MultViewVendasPorRepres.ActiveViewIndex = 1; }
protected void btnPesquisar_Click(object sender, EventArgs e) { UsuarioWeb objUsuario = (UsuarioWeb)Session["ObjetoUsuario"]; string sCodigoRepresentante = ""; if (!cbkTodos.Checked) { sCodigoRepresentante = cbxRepresentante.SelectedValue.ToString(); } DataTable dtResult = HlpFuncoesVendas.GetVendasPorRepresentanteAnual(objUsuario.oTabelas, cbxAno.SelectedItem.Text, sCodigoRepresentante); DataTable dtFinal = new DataTable(); string sNomeRepresentante = ""; int iCount = 0; int iCountRepresentantes = 0; List <DadosGrafico> lDadosGrafico = new List <DadosGrafico>(); foreach (DataRow row in dtResult.Rows) { DadosGrafico stDadosGrafico = new DadosGrafico { sNmRepresentante = row["NM_VEND"].ToString(), sMes = row["MES"].ToString(), dTotal = Convert.ToDouble(row["TOTAL"].ToString()) }; string sMes = ""; string sTotal = ""; if (sNomeRepresentante != row["NM_VEND"].ToString()) { sNomeRepresentante = row["NM_VEND"].ToString(); iCountRepresentantes = 0; } if (iCountRepresentantes == 0) { iCountRepresentantes++; sMes = "MES" + iCount.ToString(); sTotal = "TOTAL" + iCount.ToString(); stDadosGrafico.sColumnMes = sMes; stDadosGrafico.sColumnTotal = sTotal; dtFinal.Columns.Add(new DataColumn(sTotal, System.Type.GetType("System.Double"))); dtFinal.Columns.Add(new DataColumn(sMes, System.Type.GetType("System.String"))); grafico.Series.Add(new Series { XValueMember = sMes, XValueType = ChartValueType.String, YValueMembers = sTotal, YValueType = ChartValueType.Double, ChartType = SeriesChartType.Column, LegendText = sNomeRepresentante, IsVisibleInLegend = true, IsValueShownAsLabel = true }); iCount++; } lDadosGrafico.Add(stDadosGrafico); } foreach (string m in lDadosGrafico.Select(c => c.sMes).Distinct()) { DataRow dr = dtFinal.NewRow(); foreach (DadosGrafico dg in lDadosGrafico.Where(c => c.sMes == m)) { string sColMes = lDadosGrafico.Where(c => c.sNmRepresentante == dg.sNmRepresentante && c.sColumnMes != "").FirstOrDefault().sColumnMes; string sColTot = lDadosGrafico.Where(c => c.sNmRepresentante == dg.sNmRepresentante && c.sColumnTotal != "").FirstOrDefault().sColumnTotal; dr[sColMes] = dg.sMes; dr[sColTot] = dg.dTotal.ToString("N2"); } dtFinal.Rows.Add(dr); } grafico.DataSource = dtFinal; grafico.DataBind(); MultViewVendasPorRepres.ActiveViewIndex = 1; }