Exemple #1
0
        private void piechart(string title, string data, ArrayList leg)
        {
            StringBuilder pie    = new StringBuilder();
            StringBuilder legend = new StringBuilder();

            graphTitle.Text = title;

            legend.Append("<table cellSpacing=0 cellPadding=2 border=0 style=\"border:1px solid black\">");
            legend.Append("<tr><td style=\"border-bottom:1px solid black;font-size:1px;\">&nbsp;</td><td style=\"border-bottom:1px solid black\">&nbsp;</td><td class=normal style=\"border-bottom:1px solid black\" width=\"50px\">n</td><td class=normal style=\"border-bottom:1px solid black\" width=\"80px\">%</td></tr>");
            Pie_chart pc = new Pie_chart();

            for (int i = 0; i < leg.Count; i++)
            {
                Legenda l = (Legenda)leg[i];
                legend.AppendFormat("<tr><td width=\"10px\" style=\"border-bottom:1px solid black;border-right:1px solid black\"><table cellpadding=0 cellspacing=0 width=\"10px\"><tr><td bgcolor=\"{0}\" style=\"font-size:9px\">&nbsp;</td></tr></table></td><td class=normal style=\"border-bottom:1px solid black\">{1}</td>", pc.color[i].Name, l.title);
                legend.AppendFormat("<td class=normal style=\"border-bottom:1px solid black\">{0}</td>", l.value.ToString());
                legend.AppendFormat("<td class=normal style=\"border-bottom:1px solid black\">{0}%</td></tr>", l.percent.ToString("###.00"));
            }
            pc.Dispose();
            legend.Append("</table");
            Legend.Text = legend.ToString();
            pie.AppendFormat("<img src=\"/chart/pie.aspx?data={0}\">", data);
            Trace.Warn(pie.ToString());
            Result.Text         = pie.ToString();
            tableData.Visible   = false;
            graphResult.Visible = true;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Login())
            {
                Response.Redirect("/login.aspx");
            }
            else
            {
                DataTable dt;
                dt = DatabaseConnection.CreateDataset("SELECT DISTINCT TOP 10 PRODUCTID,COUNT(*) AS NTIMES FROM CRM_BILLROWS GROUP BY PRODUCTID").Tables[0];
                string res = String.Empty;
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr[0].ToString() != "0")
                    {
                        res += DatabaseConnection.SqlScalar("SELECT SHORTDESCRIPTION FROM CATALOGPRODUCTS WHERE ID=" + dr[0].ToString()) + "|" + dr[1].ToString() + "|";
                    }
                    else
                    {
                        res += Root.rm.GetString("Cahtxt3") + "|" + dr[1].ToString() + "|";
                    }
                }

                if (res.Length > 0)
                {
                    Result.Text = string.Format("<img src=\"/chart/pie.aspx?data={0}\">", res.Substring(0, res.Length - 1));
                }
                else
                {
                    Result.Text = Root.rm.GetString("Cahtxt4");
                }

                StringBuilder legend = new StringBuilder();

                legend.Append("<table cellSpacing=0 cellPadding=2 border=0 style=\"border:1px solid black\">");
                legend.Append("<tr><td style=\"border-bottom:1px solid black;font-size:1px;\">&nbsp;</td><td style=\"border-bottom:1px solid black\">&nbsp;</td><td class=normal style=\"border-bottom:1px solid black\" width=\"50px\">n</td></tr>");
                Pie_chart pc = new Pie_chart();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string title = DatabaseConnection.SqlScalar("SELECT SHORTDESCRIPTION FROM CATALOGPRODUCTS WHERE ID=" + dt.Rows[i][0].ToString());
                    if (title.Length == 0)
                    {
                        title = Root.rm.GetString("Cahtxt3");
                    }
                    legend.AppendFormat("<tr><td width=\"10px\" style=\"border-bottom:1px solid black;border-right:1px solid black\"><table cellpadding=0 cellspacing=0 width=\"10px\"><tr><td bgcolor=\"{0}\" style=\"font-size:9px\">&nbsp;</td></tr></table></td><td class=normal style=\"border-bottom:1px solid black\">{1}</td>", pc.color[i].Name, title);
                    legend.AppendFormat("<td class=normal style=\"border-bottom:1px solid black\">{0}</td></tr>", dt.Rows[i][1].ToString());
                }
                pc.Dispose();
                legend.Append("</table");
                Legend.Text = legend.ToString();
            }
        }
 //グラフのアップデート
 public void Chart_Update()
 {
     Pie_chart.InvalidatePlot(true); //グラフを更新する。
     Line_chart.InvalidatePlot(true);
 }