首页 / 浏览问题 / 组件GIS / 问题详情
删除数据源里的数据集后,图层管理器中依然有
35EXP 2022年03月07日
supermap iobject.net进行桌面端二次开发时,在mapControl里绘制了一个矩形并存放到了工作空间管理器下的数据源里,但后面需要对数据源里刚刚绘制的矩形删除,主要的代码如下:

PipelineDatasource.m_pipeLineDataSource.Datasets.Delete("RectangleLine");

m_mapControl.Map.TrackingLayer.Clear();
m_mapControl.Map.Refresh();

但进行该操作后,数据源里已经没有"RectangleLine"数据集了,mapControl中也没有RectangleLine了,但图层管理器中还有RectangleLine图层

2 个回答

您好,当数据源中的数据集删除后,图层管理器中内容并没有同步刷新,需要您手动调用图层管理器的刷新节点方法进行刷新。

详情可参加:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iObjectsNet/index.html中的LayersTree类API。

希望可以帮到您。

2,258EXP 2022年03月07日
谢谢您的回答~
您好,图层管理器中的数据是通过mapcontrol接口进行连接,想要删除图层管理器中的图层,还需要通过Layers.Remove()移除图层。

建议您先进行图层移除处理

m_mapControl.Map.Layers.Remove();

m_mapControl.Map.Refresh();

再删除数据集

PipelineDatasource.m_pipeLineDataSource.Datasets.Delete("RectangleLine");

希望能帮到您!
2,548EXP 2022年03月07日
谢谢您的回答
...