1

私は高いチャートを使用していて、ページのリロードでそれらを表示することに成功しました。次のコードを使用してサーバー側でグラフを作成しています:-

DateTime dt = DateTime.Now;
Series[] series=null;

            Series Store1 = new Series();
            Store1.Data = new Data(new object[]
                                  {
                                      lst[0].target1,lst[0].target2,lst[0].target3,lst[0].target4,lst[0].target5,lst[0].target6,lst[0].target7
                                  });

            Store1.Name = lst[0].StoreName;
            Store1.Type = DotNet.Highcharts.Enums.ChartTypes.Bar;

            Series Store2 = new Series();
            Store2.Data = new Data(new object[]
                                  {
                                      lst[1].target1,lst[1].target2,lst[1].target3,lst[1].target4,lst[1].target5,lst[1].target6,lst[1].target7
                                  });
            Store2.Name = lst[1].StoreName;
            Store2.Type = DotNet.Highcharts.Enums.ChartTypes.Bar;

            series = new Series[] { Store1, Store2 };

            DotNet.Highcharts.Highcharts bar = new DotNet.Highcharts.Highcharts("chart")
            .SetPlotOptions(new PlotOptions
            {
                Bar = new PlotOptionsBar
                {
                    AllowPointSelect = true,                   
                    Cursor = DotNet.Highcharts.Enums.Cursors.Pointer,
                    ShowInLegend = true,
                    DataLabels = new PlotOptionsBarDataLabels
                    {
                        Color = System.Drawing.ColorTranslator.FromHtml("#000000"),
                        //ConnectorColor = System.Drawing.ColorTranslator.FromHtml("#000000"),
                    }
                }
            }) 
            .SetLegend(new Legend{
            Layout=DotNet.Highcharts.Enums.Layouts.Vertical
            })
                .SetXAxis(new XAxis
                {
                    Categories = new string[] {dt.DayOfWeek.ToString(),
                    dt.AddDays(-1).DayOfWeek.ToString(),
                    dt.AddDays(-2).DayOfWeek.ToString(),
                    dt.AddDays(-3).DayOfWeek.ToString(),
                    dt.AddDays(-4).DayOfWeek.ToString(),
                    dt.AddDays(-5).DayOfWeek.ToString(),
                    dt.AddDays(-6).DayOfWeek.ToString()
                    }
                })
            .SetTitle(new Title { Text = "Store Details" })
            .SetSeries(series);

            ltrchart.Text = bar.ToHtmlString();

クライエンドサイドコード

<script src="Js/jquery-1.5.1.js" type="text/javascript"></script>
<script src="Js/highcharts.js" type="text/javascript"></script>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
    <asp:Literal ID="ltrchart" runat="server"></asp:Literal>        
</ContentTemplate>
</asp:UpdatePanel>

更新パネルを使用していますが、更新するとチャートが消えます。ページをリロードすると正常に動作しますが、更新パネルに配置せずにグラフを変更しようとしても変更されません。更新パネルを使用して、グラフを変更して消えないようにしたい。サーバー側でもクライアント側でもエラーは発生しません。同じことで私を助けてください。

よろしくAbhishek

4

1 に答える 1

0

リフレッシュしてチャートをリロードできますが、データ ポイントはリロードできません。

一方のクライアント側では、これをコードに追加する必要があります。

Sys.Application.add_load( // ここにチャート レンダリング コード )

これにより、更新パネルの更新時にグラフが再レンダリングされます。

于 2013-01-24T07:18:29.963 に答える