阅读:1669回复:4
请求支援
数据库中的数据定时改变,数据与图形上的多边形区域邦定,随着数据的改变,图形上的多边形也需要改变不同的颜色.对这样的需求希望大家能给出不同的解决方案.谢谢
|
|
1楼#
发布于:2004-10-11 22:55
<P>将从数据库中读出的数据先存储在缓存中,给程序加一个时钟控件,定时读数据库,看与缓存中的数据比较,如果发生了变化,就将你的图形的style改变</P><P>只是方案,我还没实现呢</P><P>我也在做这个,vc+mapx</P><P>希望以后多交流</P><P><a href="mailtxuejin_yang@163.com" target="_blank" >xuejin_yang@163.com</A></P>
|
|
2楼#
发布于:2004-10-12 09:06
<P>谢谢<b><FONT color=#000066>jeason</FONT></b></P><P><b><FONT color=#000066>我的思路是将数据源邦定到层的Datasets中,然后建立主题图,这样层上的图形就会因为不同的数据而以不同的颜色或形状表示出来.然后定时刷新Dataset就行了,这个方法可能不适合用在刷新要求太快的系统中,不过我感觉实现起来比较简单,</FONT></b></P><P><b><FONT color=#000066>不知大家还有什么别的思路没有,欢迎多多交流</FONT></b></P><P><b><FONT color=#000066>yjinf2002@163.com</FONT></b></P>
|
|
3楼#
发布于:2004-10-12 11:20
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
4楼#
发布于:2004-11-10 09:58
<P>好久没有来了,继续对这个问题进行讨论。</P><P>我现在为了实现最初所说的功能,建立了主题图,然后再定时器中使用CMapXDataset的Refresh();主题图的颜色或形状都随着属性值得改变而改变。这个功能已经实现。</P><P>现在我还需要随时了解每个空间对象的属性值到底是多少,如果某个属性值大于一个设定值后,我就要做别的处理。为了实现这个功能,我在定时器中CMapXDataset的Refresh();的后面,启动了一个线程,这个线程每次启动都调用CMapXDataset的Rows,读取数据集中每一行的指定字段的值,将这个值与设定值相比较,如果大于设定值,就进行其他处理,如报警等。这样做了后有问题,就是程序运行几十秒后,就会出现异常,报告某个层可能是只读,或某个文件不能访问。我怀疑可能是读取数据值得线程和定时器中刷新数据的CMapXDataset的Refresh();冲突造成的,但不知道该怎样解决,请大家给个思路,谢谢</P>
|
|