实时曲线IE中的实现 ( 积分: 180 )

  • 主题发起人 主题发起人 thankshong
  • 开始时间 开始时间
T

thankshong

Unregistered / Unconfirmed
GUEST, unregistred user!
从动态SQL数据库里取得数据,并在IE里用曲线实时显示其变化曲线,实现语言不限!请帮忙解决,谢谢!
 
从动态SQL数据库里取得数据,并在IE里用曲线实时显示其变化曲线,实现语言不限!请帮忙解决,谢谢!
 
从动态SQL数据库里取得数据,并在IE里用曲线实时显示其变化曲线,实现语言不限!请帮忙解决,谢谢! 麻烦写清所有代码!
 
IE里面好像没办法实时的吧,你可以让IE定时刷新就可以了(比如1分钟等)。
 
呵呵呵,别说180分,就是180元也没人给你写啊!
以为你的谢谢很好听吗?
 
用Javascript定时与服务器交互就可以了。
 
Java applet可以
 
HTML不支持曲线,JS根据不可能,只有DHTML可以做到,原理在下面说
方法1:
<object classid=&quot;clsid:3A2B370C-BA0A-11D1-B137-0000F8753F5D&quot;
id=mschart1 style=&quot;HEIGHT: 310px;
WIDTH: 440px&quot;
codebase=&quot;mschart.cab&quot;>
参考http://www.csdn.net/vote/result1.asp?poll_id=129 源代码
方法2:利用Dhmtl,因为标准HTML没有曲线元素,原理就是利用DIV层的方式,重叠很多层,看起来想曲线,其实是很多离散的点,如果用这种方式需要自己去下载JS的图形库
方法3:利用VML,美洲豹有个很完整的教程,楼主可以去下载
http://www.9seek.com/c19.aspx
这里代码非常多
方法4:还是利用Activex控件的做法,参考代码如下
<HTML>
<HEAD>
<TITLE>画线-www.51windows.Net</TITLE>
<meta http-equiv=&quot;Content-Type&quot;
content=&quot;text/html;
charset=gb2312&quot;>
<META NAME=&quot;Author&quot;
CONTENT=&quot;www.Redidea.net&quot;>
</HEAD>
<body bgcolor=#CCCCCC>
<script>
var winW= 480;
var winH= 360;
var MyStr=&quot;<object id=DDraw classid=/&quot;clsid:369303C2-D7AC-11d0-89D5-00A0C90833E6/&quot;&quot;;
MyStr+=&quot;
style=/&quot;background:#FFFFFF;position:absolute;left:0;top:0;width:&quot;;
MyStr+=winW;
MyStr+=&quot;;height:&quot;;
MyStr+=winH;
MyStr+=&quot;/&quot;></object>&quot;;
document.write(MyStr);
</script>
<script language=JavaScript>
var IsClick=0;
var MouseX0=0;
var MouseY0=0;
function MyDraw(){
if (IsClick) {
if ((MouseX0==0)&amp;&amp;(MouseY0==0)){
MouseX0=event.clientX-winW/2;
MouseY0=event.clientY-winH/2;
}
MouseX=event.clientX-winW/2;
MouseY=event.clientY-winH/2;
var Canvas=DDraw.DrawSurface;
var Lib=DDraw.Library;
Canvas.FillColor(Lib.red);
Canvas.Line(MouseX0,MouseY0,MouseX,MouseY);
DDraw.DrawSurface=Canvas;
MouseX0=MouseX;
MouseY0=MouseY;
}
}
function MyClick(){
IsClick=!IsClick;
MouseX0=event.clientX-winW/2;
MouseY0=event.clientY-winH/2;
}
document.onclick=MyClick;
document.onmousemove=MyDraw;
</script>
<div style=&quot;position:absolute;left:0;top:380;&quot;>点一下鼠标,然后松开,移动鼠标,就可以画了,再点一下,就结束了..:)<br>来自:www.Redidea.net</div>
</body>
------------------------------------
以上所有方法都是服务器端主动
 
如果要实时的话就用ActiveX写吧,ActiveX的实时性比java applet好点.
 
最简单的方式是隔段时间刷新页面,不过对实时要求高的就不是很好了
 
我觉得最简单的方法是用水晶报表来做,将查询到的数据集传给报表就行,至于怎么显示完全可由报表来自行处理,这样根本不用介入曲线力行的处理。至于“实时”可以在一分钟刷新的话,只有查询的数据量不是很大的话,完全可以在这个时间段中再查数据库了
 
如果客户多的话,用页面刷新的方法是个糟糕的方法。因为刷新的时侯变动或者没变动的数据都一起重新传了。我们以前有个页面就用这种办法。300个就挂,后来改进以后1000多都没事,不过不知道极限是多少,没那么多客户端实验
 
显示图表到很容易做到,无论是vml,vrml,flash,teechart ,owc chart还是其他图表控件都可以,关键是“实时”的问题,象楼上说的如果刷新过于频繁,系统很难承受。
 
后退
顶部