1

このプラグインは、静的な値に対して正常に機能します。しかし、データベースの値を使用したいです。3Dチャートです。私はすべてを試しましたが、解決策が見つかりませんでした。だから助けてください。私はいろいろなことを試しました。これを説明できる可能性のあるすべてのサイトを検索しました。しかし、今のところ何も役に立っていません。この種のプラグインを作成している Web サイトについても検索しましたが、これに関する適切なドキュメントは見つかりませんでした。jQueryプラグインをデータベースに統合したい他の開発者にとっても素晴らしいものになるでしょう。

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Highcharts Example</title>




       <script type="text/javascript">
         var mysuperdata= null;
        jQuery.ajax({
        url: url: "Default2.aspx/GetData",
        contentType: "application/json; charset=utf-8",
        data: { "param1": p1, "inicialDate": inicialDate, "finalDate": finalDate },
        dataType: "jsonp",
       success: function (d) { mysuperdata = d }
      });


     </script>


<script 
     type="text/javascript"                                                                                   
     src=
     "http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
      $(function () {
            var chart;
            $(document).ready(function () {
                chart = new Highcharts.Chart({
                    chart: {
                        renderTo: 'container',
                        plotBackgroundColor: null,
                        plotBorderWidth: null,
                        plotShadow: false
                    },
                    title: {
                        text: 'Browser market 
                         shares at a specific website,   2010'
                    },
                    tooltip: {
                        pointFormat: '{series.name}: 
                            <b>{point.percentage}%</b>',
                        percentageDecimals: 1
                    },
                    plotOptions: {
                        pie: {
                            allowPointSelect: true,
                            cursor: 'pointer',
                            dataLabels: {
                                enabled: true,
                                color: '#000000',
                                connectorColor: '#000000',
                                formatter: function () {
                                    return '<b>' + this.point.name + 
                                   '</b>: ' + this.percentage + ' %';
                                }
                            }
                        }
                    },
                    series: [{
                      type: 'pie',
                      name: 'Browser share',
                      data: mysuperdata
                  }]
                });
            });

        });
    </script>
  </head>
    <body>
     <script src="http://code.highcharts.com/highcharts.js"></script>
      <script src="http://code.highcharts.com/modules/exporting.js"></script>
           <div id="container" style="min-width: 400px; height:
                   400px; margin: 0 auto"></div>

            </body>
          </html>       using System;
       using System.Collections.Generic;
       using System.Linq;
       using System.Web;
       using System.Web.UI;
       using System.Web.UI.WebControls;
       using System.Web.Services;
       using System.Web.Script.Services;

       public partial class Default2 : System.Web.UI.Page
       {
         protected void Page_Load(object sender, EventArgs e)
        {

        }  
         [WebMethod]
       [ScriptMethod(ResponseFormat = ResponseFormat.Json, XmlSerializeString = false)]
        public static Array GetData()
         {
           return new Dictionary<string, double>()
              {
                 { "Firefox", 45 },
                 { "IE", 24.8 },
                 { "Chrome", 12.8 },
                 { "Safari", 8.5 },
                 { "Opera", 5.2 },
                 { "Outros", 3.7 },
              }.ToArray();
           }
          }

コードアドリアーノを編集しましたが、まだ機能していません。空白のページが表示されます。私は今何をすべきかわかりません。

4

3 に答える 3

1

ajax/json 呼び出しを行いたくない場合は、jquery 関数を動的に記述し、startupscript を介して登録する私の方法に従うことができます。ここにコードがあります..

void loadchart()
{
     DateTime strat = DateTime.Parse(DropDownList1.SelectedValue);
     int day = strat.Day;
     int tosub = day - 1;
     strat = strat.AddDays((0 - tosub));
     DateTime edate = strat.AddMonths(1);
     edate = edate.AddDays(-1);
     double tot = 0;
     string jq = "<script type=\"text/javascript\"> $(document).ready(function () { var line1 = [";
     while (strat <= edate)
     {
          string x  = strat.ToString("dd/MMM/yy");
          double y = getregularorderamount(strat);
          tot += y;
          jq += "['"+x+"', "+y.ToString()+"],";
          strat = strat.AddDays(1);
     }
     jq = jq.Substring(0, jq.Length - 1);
     jq += @"];
        var plot1 = $.jqplot('chart1', [line1], {
       animate: true,";
     jq += "title: 'Total Order Amount For The Month Of - " + DateTime.Parse(DropDownList1.SelectedValue).ToString("MMMM-yyyy") + " = &#x20B9;" + tot.ToString() + "',";
       jq += @"     axes: {
                xaxis: {
                    renderer: $.jqplot.DateAxisRenderer,
                    tickOptions: {
                        formatString: '%b&nbsp;%#d'
                    }
                },
                yaxis: {
                       min:0,
                    tickOptions: {
                        formatString: '&#x20B9;%.0f'
                    }
                }
            },
            highlighter: {
                show: true,
                sizeAdjust: 7.5,
                formatString: 'On date: %s, Total sale amount: %s'
            },
            cursor: {
                show: false
            }
        });
    });";
  jq+="</script>";
     ScriptManager.RegisterStartupScript(this, this.GetType(), "bgh", jq, false);

この汚い方法が役立つことを願っています。

于 2013-04-15T11:00:19.447 に答える