我正在使用高级图表,并且已成功在页面重新加载时显示它们。 我使用以下代码在服务器端创建图表: -
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();
Cliend Side code
<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>
我正在使用更新面板,但每当我刷新我的图表时都会消失。 如果我重新加载页面它工作正常,但当我尝试更改图形而不将其放在更新面板中时它不会改变。 我想使用更新面板,并希望我的图表更改而不是消失。 服务器端和客户端都没有出现任何错误。 请帮助我。
此致 阿布舍克巴克
答案 0 :(得分:0)
我能够刷新以重新加载图表而不是数据点。
一个客户端,您需要将其添加到代码中。
Sys.Application.add_load( //这里的图表渲染代码 )
这将使图表在更新更新面板时重新呈现。