edward22
路人甲
路人甲
  • 注册日期2004-07-01
  • 发帖数121
  • QQ
  • 铜币506枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2111回复:8

[求助]在做浏览属性数据出现的问题,附代码?急!!!

楼主#
更多 发布于:2004-09-09 10:18
<P>这段程序主要想做成类似mapinfo中的浏览属性数据或者arcview中的table</P>

<P>Dim recs As MapObjects2.Recordset
Dim fld As MapObjects2.Field</P>
<P>
MSHFLEXGRID1.Clear
Set recs = frmmain.mapDisp.Layers(0).Records
'获得活动图层的记录集
'通过recs.Fields的字段集合获得活动图层的所有字段名,
'并将字段名附给MSHFlexGrid1(vb控件)做列标题 ,
'利用fld.ValueAsString获得每条记录,
'添加至MSHFlexGrid1.这样就可以实现了不查询获得所有属性数据记录了.</P>
<P>With GridFeatList
Dim j As Integer
 .Rows = 1                     '总行数设为1
recs.MoveFirst
Do While Not recs.EOF             'while循环每循环一次,获取一条记录
  .Rows = .Rows + 1
  j = 1                        '从第2列(序号为1)开始填入属性数据,第一列为序号
  For Each fld In recs.Fields  '该循环每次获取的是一条记录的所有字段值
    .TextMatrix(.Rows - 1, 0) = .Rows - 1
    .TextMatrix(.Rows - 1, j) = fld.ValueAsString
    j = j + 1
  Next fld
    recs.MoveNext
Loop
End With</P>
<P>我在编译中不能通过说下面这句有问题,实时错误 381 ,下标越界</P>
<P>   .TextMatrix(.Rows - 1, j) = fld.ValueAsString</P>
<P>请高手帮忙看看!</P><img src="images/post/smile/dvbbs/em02.gif" />
喜欢0 评分0
如果你爱他就让他学GIS,如果你恨他就让他学GIS!
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-09-09 11:39
<P>检查一下你的数组定义啦!</P>
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
edward22
路人甲
路人甲
  • 注册日期2004-07-01
  • 发帖数121
  • QQ
  • 铜币506枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-09-09 15:50
<P>查不出来啊,急。不知道有没有人做过?出来讲讲!</P>
如果你爱他就让他学GIS,如果你恨他就让他学GIS!
举报 回复(0) 喜欢(0)     评分
ryx32
路人甲
路人甲
  • 注册日期2003-08-05
  • 发帖数457
  • QQ
  • 铜币4046枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-09-10 08:22
我用listview
举报 回复(0) 喜欢(0)     评分
edward22
路人甲
路人甲
  • 注册日期2004-07-01
  • 发帖数121
  • QQ
  • 铜币506枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-09-10 08:56
<P>能不能附一下代码啊?</P>
如果你爱他就让他学GIS,如果你恨他就让他学GIS!
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-09-10 09:08
好象没有设GridFeatList的记录数呀!
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
gdl120001
路人甲
路人甲
  • 注册日期2004-07-13
  • 发帖数5
  • QQ
  • 铜币129枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-09-10 09:41
<P>必须定义grid的行数,列数,因为默认的为两列两行,所以显示为下标越界,一般定义为grid.cols=recs.count,我没仔细看你的程序,反正就是这个问题了。</P>
举报 回复(0) 喜欢(0)     评分
edward22
路人甲
路人甲
  • 注册日期2004-07-01
  • 发帖数121
  • QQ
  • 铜币506枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-09-10 11:51
<P>3x, 一语中地!</P><P>太感谢了,看来我还是对mshflexgrid不是很熟悉!</P>
如果你爱他就让他学GIS,如果你恨他就让他学GIS!
举报 回复(0) 喜欢(0)     评分
kmxl
路人甲
路人甲
  • 注册日期2004-10-30
  • 发帖数94
  • QQ
  • 铜币294枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-11-08 17:54
<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部