用C#实现一个实时动态刷新曲线图,传入了第一个数据后如何继续传入其他数据。

问题描述

最近看了highchart后想着自己编一个试试,结果遇到额不少问题,求大神指点下。现在第一个数据能传进去,数据是从后台数据库读,谢谢了。<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="ts.aspx.cs"Inherits="动态图最终版.ts"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>成功了</title><scripttype="text/javascript"src="js/jquery.js"></script><scripttype="text/javascript"src="js/highcharts.js"></script><scripttype="text/javascript">$(function(){$(document).ready(function(){Highcharts.setOptions({global:{useUTC:false}});varjsonData=document.getElementById("Hidden1").value;varchart;$('#container').highcharts({chart:{type:'spline',animation:Highcharts.svg,//don'tanimateinoldIEmarginRight:100,events:{load:function(){//setuptheupdatingofthecharteachsecondvarseries=this.series[0];setInterval(function(){varx=(newDate()).getTime(),//currenttime//y=Math.random();y=jsonData;//alert(jsonData);series.addPoint([x,y],true,true);},1000);}}},title:{text:'CPU动态走势图--1秒'},xAxis:{type:'datetime',tickPixelInterval:100},yAxis:{title:{text:'CPU动态走势图--1秒'},plotLines:[{value:0,width:1,color:'#808080'}]},tooltip:{formatter:function(){return'<b>'+this.series.name+'</b><br/>'+Highcharts.dateFormat('%Y-%m-%d%H:%M:%S',this.x)+'<br/>'+Highcharts.numberFormat(this.y,2);}},legend:{enabled:false},exporting:{enabled:false},series:[{name:'Randomdata',data:(function(){//generateanarrayofrandomdatavardata=[],time=(newDate()).getTime(),i;for(i=-19;i<=0;i++){data.push({x:time+i*1000,y:Math.random()});}returndata;})()}]});});});//functiongetForm()//{//$.ajax({//type:"Post",////后台获取数据的函数,注意当对该页面重命名时,////必须手动更改该选项//url:"ts.aspx.cs/getData",//contentType:"application/json;charset=utf-8",//dataType:"json",//////成功获取数据//success:function(data){////data=jQuery.parseJSON(data.d);//JSON再次转换为Table形式;////varseries=chart.series[0];////series.addPoint([data[0]["x"],data[0]["y"]],false,true);////chart.redraw();//},//////显示错误//error:function(err){//alert(err+"调用后台程序出现错误,请尝试刷新!");//}//});//}//$(document).ready(function(){////每隔3秒自动调用方法,实现图表的实时更新//window.setInterval(getForm,2000);//});//});</script></head><body><formid="form1"runat="server"><divid="container"style="min-width:400px;height:400px;margin:0auto;"><inputid="Hidden1"runat="server"type="hidden"value=""/></div></form></body></html>这是CS的usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Data;usingSystem.Data.SqlClient;namespace动态图最终版{publicpartialclassts:System.Web.UI.Page{protectedstringjsonstr="";protectedvoidPage_Load(objectsender,EventArgse){Stringjsonstr=getData();Hidden1.Value=jsonstr;}publicstringgetData(){//stringsqlConnStr="DataSource=R410-05\HEPANBO;InitialCatalog=Test;IntegratedSecurity=True";stringsqlConnStr="DataSource=(local);InitialCatalog=aimosh;IntegratedSecurity=True";SqlConnectionsqlConn=newSqlConnection(sqlConnStr);sqlConn.Open();SqlCommandcom=newSqlCommand("selecttop1TMPTime,TMPPricefromTest",sqlConn);SqlDataAdapterda=newSqlDataAdapter(com);DataSetdtPrice=newDataSet();da.Fill(dtPrice);//DataTabledtPrice=SQLDBHelper.ExecuteTable("selecttop20TMPCode,TMPTime,TMPPricefromTabMerPricewith(nolock)orderbyTMPTimedesc");//stringjson="{"rows":[";stringjson="";for(inti=(dtPrice.Tables[0].Rows.Count-1);i>=0;i--){//json+="{"time1":""+(Convert.ToDateTime(dtPrice.Tables[0].Rows[i]["TMPTime"]).AddHours(-8)-newDateTime(1970,1,1)).TotalMilliseconds+"","price":""+(Convert.ToDecimal(dtPrice.Tables[0].Rows[i]["TMPPrice"])/200)+""},";//json+="{""+(Convert.ToDecimal(dtPrice.Tables[0].Rows[i]["TMPPrice"]))+""},";json+=(Convert.ToDecimal(dtPrice.Tables[0].Rows[i]["TMPPrice"]));}//json=json.TrimEnd(',');//json+="]}";jsonstr=json;//Response.Write(@"<scriptlanguage=JavaScript>{window.alert('数据库扣脸上了!');}</script>");returnjsonstr;}}}

解决方案

时间: 2024-12-21 07:36:55

用C#实现一个实时动态刷新曲线图,传入了第一个数据后如何继续传入其他数据。的相关文章

实时记录曲线图是什么控件实现的

问题描述 请问任务管理器里面CPU的实时记录曲线图是用什么控件完成的或者哪位能提供一个思路,不胜感激! 解决方案 解决方案二:一些国外的第三方控件都可以实现,如NI公司的MESURESTUDIO,你要做这种,需要购买这些控件,2000美圆左右.如果不是很复杂的,自己用.NET的绘图的类,DREOW,LINEPOINT定义坐标动态画图.解决方案三:那种图是可以自己绘制的.解决方案四:网上很多开源控件,如ZedGraph等~~~

javaswing-JavaSwing 怎么做一个实时监控软件运行流程的界面。

问题描述 JavaSwing 怎么做一个实时监控软件运行流程的界面. 如 有这样一个流程: 开始-数据下载- 数据管理-数据预报-产品生成-产品显示-产品发布当程序运行在数据下载的时候,我用什么显示他正在执行 数据下载.求大神讲解!

c语言-C语言写的一个实时时间小程序,用的多线程屏幕问题

问题描述 C语言写的一个实时时间小程序,用的多线程屏幕问题 这是一个子程序,我想把这个调试好了加到另一个工程里,因为要实时显示时间,所以用到了多线程,现在的问题是子线程执行的时候 光标就移动到这行后面,主线程再打印什么东西的时候,屏幕显示就乱套了,怎么能解决啊,下面是代码片段. void real_time(int X,int Y) //显示时间的函数,用到了光标移动函数,X,Y表示坐标 { HideCursor(10, 0); //隐藏光标函数 hout = GetStdHandle(STD_

Heim —— 一个实时社区平台

Heim 是 Euphoria 的前端和后端,它是一个实时的社区平台.后端是一个在 WebSocket 以 JSON 格式进行数据交换的 Go 服务器,用于将数据保存到 PostreSQL 上.Web 客户端基于 React/Reflux 建立. 目前,heim 只发行了 pre-alpha 版本.目前新版本正逐渐趋于稳定.我们以这样的方式发布,因为我们要开放代码库和开发进度.我们会在协议上做出重大的突破,并且我们将会逐渐合并复杂的 pull 请求,同时我们会获得核心的构建模块. 文章转载自 开

键盘响应-C# 需要在判断输入回车后对某传入的参数进行操作,请问怎么实现?

问题描述 C# 需要在判断输入回车后对某传入的参数进行操作,请问怎么实现? private void Mission_KeyDown(object sender, KeyEventArgs e,short i) { if (e.KeyCode == Keys.Enter) { //对i操作 } } 这样写无法引用,求问有什么办法可以实现? 解决方案 把i这个参数放进TextBox控件的Tag对像中传入 private void Mission_KeyDown(object sender, Key

从存储、实时、安全的角度谈如何建立完整可用的企业大数据平台

要建立一个大数据系统,我们需要从数据流的源头跟踪到最后有价值的输出,并在现有的 Hadoop 和大数据生态圈内根据实际需求挑选并整合各部分合适的组件来构建一个能够支撑多种查询和分析功能的系统平台.这其中既包括了对数据存储的选择,也涵盖了数据线上和线下处理分离等方面的思考和权衡.此外,没有任何一个引入大数据解决方案的商业应用在生产环境上承担的起安全隐患. 1. 计算框架篇 大数据的价值 只有在能指导人们做出有价值的决定时,数据才能体现其自身的价值.因此,大数据技术要服务于实际的用途,才是有意义的.

c#-winform程序listview控件修改数据后动态刷新效果

问题描述 winform程序listview控件修改数据后动态刷新效果 在另一个窗口中修改好listview控件数据,并能在listview立刻显示出来. 怎么实现求大神指点!谢谢 解决方案 参考:http://bbs.csdn.net/topics/360140208 解决方案二: 你所谓的立刻是什么意思? 解决方案三: 在Form2窗体中声明 public Form1 f1; Form1按钮单击事件中: Form2 f2 = new Form2(); f2.f1 = this; f2.Sho

为什么equals方法可以传入null值,而compareTo方法不能传入null值?

问题描述 自然排序下TreeSet和TreeMap都是使用compareTo方法来防止元素重复,而compareTo方法不能传入null值,会出现空指针异常,让比较的对象指向了一个null值.使用比较器排序,TreeSet和TreeMap可以传入有且仅有一个null值,传入第二个会报空指针异常.总结:compareTo方法是使得TreeSet和TreeMap在自然排序下不能传入null值的罪魁祸首问:为什么equals方法可以传入null值,而compareTo方法不能传入null值? 解决方案

快数据:大数据后的下一个热点?

我们在生活或工作中会碰到以下情景:公司的女神安娜一直喜欢吃哈根达斯冰激凌,几乎每天要买一杯,但某一天,她却拿着一个DQ冰雪皇后品尝得津津有 味:公司屌丝程序员李甲上班早,加班多,完成任务代码质量高,公司团建活动也积极参与,连续多个季度是公司的优秀员工,突然某一天,态度坚决提出离职,说 要回家支教. 我让从事大数据服务的朋友来预测和解释,朋友讲,如果按大数据基本算法推测,女神安娜是不会吃DQ的,因为她的行为数据已经表明,她会继续吃哈根达斯:同样,行为大数据分析得出,程序猿李甲很快会晋升为研发经理或