yoyogao
路人甲
路人甲
  • 注册日期2004-05-14
  • 发帖数24
  • QQ
  • 铜币181枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1620回复:3

获得选择集的属性

楼主#
更多 发布于:2008-07-02 21:44
<P>下面的代码是获得shapefile选择要素的属性,但是只能获得系统自定义的字段值(如FID),而不能获得自定义的字段的值,怎么回事呢?</P>
<P>谢谢!</P>
<P>Public Sub LoopThruSelection()<BR>  Dim pDoc As IMxDocument<BR>  Dim pMap As IMap<BR>  Dim pEnumFeat As IEnumFeature<BR>  Dim pFeat As IFeature<BR>  <BR>  Set pDoc = ThisDocument<BR>  Set pMap = pDoc.FocusMap<BR>  Set pEnumFeat = pMap.FeatureSelection<BR>  Set pFeat = pEnumFeat.Next<BR>  Do While (Not pFeat Is Nothing)<BR>    Debug.Print pFeat.Value(pFeat.Fields.FindField("Name"))<BR>    Set pFeat = pEnumFeat.Next<BR>  Loop<BR>End Sub<BR></P>
喜欢0 评分0
mhsy2003
路人甲
路人甲
  • 注册日期2007-05-18
  • 发帖数6
  • QQ
  • 铜币123枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-07-03 02:52
先根据名字找到field的index,再根据index得到field,然后遍历值
举报 回复(0) 喜欢(0)     评分
yoyogao
路人甲
路人甲
  • 注册日期2004-05-14
  • 发帖数24
  • QQ
  • 铜币181枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2008-07-03 20:59
<P>Debug.Print pFeat.Value(pFeat.Fields.FindField("Name"))<BR>就是 根据名字找到field的index,再根据index得到field</P>
<P>这样不对吗?</P>
举报 回复(0) 喜欢(0)     评分
cjj1308
路人甲
路人甲
  • 注册日期2006-06-29
  • 发帖数28
  • QQ
  • 铜币201枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2008-07-04 09:09
 pFeat.Value(pFeat.Fields.FindField("Name"))<BR>找到pfeat要素属性名为Name的属性值,没错,你确定自定义的字段已经在图层里了么,用arcmap打开确认下
举报 回复(0) 喜欢(0)     评分
游客

返回顶部