免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 4726|回复: 3
收起左侧

[二次开发] 求助:AE点击属性表,高亮显示图层某个要素

[复制链接]

3

主题

360

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
37
发表于 2014-12-21 22:08 | 显示全部楼层 |阅读模式
求组。。。。。

1

主题

2142

铜板

9

好友

助理工程师

Rank: 5Rank: 5

积分
265
发表于 2014-12-22 08:52 | 显示全部楼层
通过唯一值获取相关联的要素,将其加入到选择集,高亮。
回复 支持 反对

使用道具 举报

3

主题

360

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
37
 楼主| 发表于 2014-12-22 10:27 | 显示全部楼层
578423358 发表于 2014-12-22 08:52
通过唯一值获取相关联的要素,将其加入到选择集,高亮。

能给我段代码看看吗?我初学者!           axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);            IQueryFilter pQuery = new QueryFilterClass();
            int count = this.dataGridView1.SelectedRows.Count;
            string val;
            string col;
            col = this.dataGridView1.Columns[0].Name;
            //当只选中一行时
            if (count == 1)
            {
                val = this.dataGridView1.SelectedRows[0].Cells[col].Value.ToString();
                //设置高亮要素的查询条件
                pQuery.WhereClause = col + "=" + val;
            }
            else//当选中多行时
            {
                int i;
                string str;
                for (i = 0; i < count - 1; i++)
                {
                    val = this.dataGridView1.SelectedRows.Cells[col].Value.ToString();
                    str = col + "=" + val + " OR ";
                    pQuery.WhereClause += str;
                }
                //添加最后一个要素的条件
                val = this.dataGridView1.SelectedRows.Cells[col].Value.ToString();
                str = col + "=" + val;
                pQuery.WhereClause += str;
            }
            ///////注意下行代码中的SelectedLayer_TOC是当前TOCControl控件中选中的图层,也是要高亮显示要素的图层
            SelectedLayer_TOC = pLayer;
            IFeatureLayer pFeatureLayer = SelectedLayer_TOC as IFeatureLayer;
            IFeatureSelection pFeatSelection;
            pFeatSelection = pFeatureLayer as IFeatureSelection;
            pFeatSelection.Clear();
            pFeatSelection.SelectFeatures(pQuery, esriSelectionResultEnum.esriSelectionResultNew, false);
            axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
怎么把主窗体中的axMapControl1传到我建立的属性表窗体中的dataview中


回复 支持 反对

使用道具 举报

37

主题

2万

铜板

111

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
5777
发表于 2022-3-20 15:08 | 显示全部楼层
进来看看,学习学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表