mapx的数据绑定。

来源:互联网 发布:js缺少对象什么意思 编辑:程序博客网 时间:2024/05/16 08:06

mapx的数据绑定。

 

项目要求:将一些数据,用专题图的方式在地图上显示出来。

 

1、首先创建一个临时图层(根据项目需求,没必要创建永久图层)

开始用creatLayer方法建的,

A、用MainMap.Layers.CreateLayer方法创建临时表。但这个临时表只有一个字段:GeoName(

 Char 24)。程序运行过程中该表存放位置为系统临时文件夹下
B、使用LayerInfo对象创建临时表,可以指定字段。示例: 
 

 

 

 

2、将要显示的数据添加到新建的图层上。

网上找到的资料都是和数据库进行绑定,然后吧啦吧啦就ok了,但我addData时报:Invalid Field specified. Name not found, or index out of range.  错误。

原因:因为我是用A方法创建的图层,这时只有一个默认的字段,Geoname

Add时传进去的参数是fields,当然就报这个错误了,应该换用B方法创建图层。

 

 


 假设MapX已经打开一个图层,图层名为"a",手头还有一个Access数据库a.mdb,数据库里面
有个表X想和a图层绑定。我们保证a层属性里面有一个字段ID1与表X的一个字段ID2是匹配
的!!

问题一:数据库中的某一字段要和表中的某一字段匹配,这句话什么意思?是字段名要一致,还是该列的数据完全一致?

问题二:我们用的数据不是从数据库取出来的,是随便设的一些数据,根据上面的意思,好像是指a层的一个字段名及类型,要和表

x的一个字段名和类型,完全一致。

 

             //添加新的点
            x = 100;
            y = 100;
            str = "节点";
            pt.Set(x, y);
            mystyle = lyr.AllFeatures[1].Style;
            fts = axMap1.FeatureFactory.CreateSymbol(pt, mystyle);
            fts.KeyValue = str;
            lyr.AddFeature(fts, null);
            lyr.Refresh();
我想把新的点添加到图层上,但是AddFeature()的第二个参数不能为空,呼唤哪位高手帮忙解决一下。
在线等啊!!!

 

第二个参数是RowValues:表示一行数据的属性数据的新值,RowValues集合中的每个值都相应于属性数据的一列,此参数只适用于miDatesetLayer类型的layer!
它是一个可选参数,C#却强制使用,没有办法的。要不你就声明一个Rowvalues的变量,然后放在第二个参数上!你试试看吧!
祝你好运! 

 

原创粉丝点击