有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求。
按下面介绍的方法可轻松实现图层属性过滤显示:
1、当图层已经加载时
private void ShowByFilter(AxMapControl sMapCtr, IFeatureLayer sFlyr, string sFilter)
{
ESRI.ArcGIS.Carto.IFeatureLayerDefinition pDef = (ESRI.ArcGIS.Carto.IFeatureLayerDefinition)sFlyr;
pDef.DefinitionExpression = sFilter;
sMapCtr.ActiveView.Refresh();
}
2、当图层尚未加载时
private IFeatureClass GetFeatureClass(IWorkspace pWS, string sTabName, string sAttrFilter)
{
try
{
if (pWS == null || sTabName == null) return null;
IFeatureWorkspace pFWS = pWS as IFeatureWorkspace;
IFeatureClass pFC = null;
pFC = pFWS.OpenFeatureClass(sTabName);
IQueryDef pQueryDef = pFWS.CreateQueryDef();
pQueryDef.Tables = sTabName;
pQueryDef.WhereClause = sAttrFilter;
IQueryName2 pQueryName = new FeatureQueryNameClass();
pQueryName.PrimaryKey = pFC.OIDFieldName;
pQueryName.QueryDef = pQueryDef;
IDataset pDS = (IDataset)pFWS;
IWorkspaceName pWSName = (IWorkspaceName)pDS.FullName;
IDatasetName pDSName = (IDatasetName)pQueryName;
pDSName.WorkspaceName = pWSName;
IName pName = (IName)pQueryName;
pFC = pName.Open() as IFeatureClass;
return pFC;
}
catch
{
return null;
}
}
【转】C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素
有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求. 按下面介绍的方法可轻松实现图层属性过滤显示: 1.当图层已经加载时 private void ShowByFilter(Ax ...
在C#/.NET应用程序开发中创建一个基于Topshelf的应用程序守护进程(服务)
本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...
iPhone开发中从一个视图跳到另一个视图有三种方法:
iPhone开发中从一个视图跳到另一个视图有三种方法: 1.self.view addSubView:view .self.window addSubView,需要注意的是,这个方法只是把页面加在 ...
MVC已经是现代Web开发中的一个很重要的部分,下面介绍一下Spring MVC的一些使用心得。
MVC已经是现代Web开发中的一个很重要的部分,下面介绍一下Spring MVC的一些使用心得. 之前的项目比较简单,多是用JSP .Servlet + JDBC 直接搞定,在项目中尝试用 Strut ...
项目开发中封装一个BarButtonItem类别-很实用
Encapsulates a TabBarItem--封装一个BarButtonItem类 在我们程序的导航栏的左边或右边一般都会有这样的BarButtonItem,用来界面之间的跳转 如果我们有很多 ...
Dynamics CRM - 在 Dynamics CRM 开发中创建一个 Entity 对象
在 Dynamics CRM 的开发中,我们时不时需要创建 Entity 对象,而对于如何创建 Entity 对象,在 C# plugin 和 JS 的写法存在些许差异. 一.C# Plugin 创建 ...
NX二次开发-UFUN获取一个图层类别的tag UF_LAYER_ask_category_tag
NX11+VS2013 #include #include #include UF_initialize ...
Android 关于在ScrollView中加上一个ListView,ListView内容显示不完全(总是显示第一项)的问题的两种简单的解决方案
是这样的哈: 有这样一个需求: 1.显示一个界面,界面上有一个列表(ListView),列表上面有一个可以滚动的海报. 2.要求在ListView滚动的过程中,ListView上面的海报也可以跟着Li ...
随机推荐
linux进程管理(上)
程序和进程的区别: 1.程序是一种静态资源 程序启动产生进程 2.程序与进程无一一对应原则 进程是动态的一个过程 父进程和子进程在前面提过 前台进程:执行命令时只能等待的进程为前台进程也叫异步进程 ...
C语言位运算详解[转]
作者:911 说明:本文参考了http://www2.tsu.edu.cn/www/cjc/online/cyuyan/,算是对其的修正,在此将本文列为原创,实有抄袭之嫌疑.甚是惭愧! 位运算是指按二 ...
如何修改myeclipse 内存?eclipse.ini中各个参数的作用。
修改MyEclipse/eclipse文件夹中配置文件eclipse.ini中的内存分配就哦了 =================================== 一般的ini文件设置主要包括以下 ...
Mesh系列文章 - 自定义Mesh
就是在做项目的过程中,有用到三角形的,今天就写一下如何自定义三角形? 先截个图,让大家有个感性认识! //引用 using UnityEngine; using System.Colle ...
【算法】E.W.Dijkstra算术表达式求值
算术表达式求值 我们要学习的一个栈的用例同时也是展示泛型的应用的一个经典例子,就是用来计算算术表达式的值,例如 ( 1 + ( ( 2 + 3 ) * ( 4 * 5 ) ) ) 如果将4乘以5,把3 ...
HttpClient使用详解(转)
HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户 ...
MVC同一个视图多个submit对应不同action
Vi ew中代码
使用js使表单自动提交
function sub(){ document.yeepay.submit(); } setTimeout(sub,1000);//以毫秒为单位的.1000代表一秒钟.根据你需要修改这个时间. // ...
Oracle EBS-SQL (BOM-6):检查物料失效但BOM中未失效的数据.sql
select msi.segment1 装配件编码 , msi.description 装配件描述 , msi.item_type ...
经典系统windows xp sp3官方原版下载(附XP序列号)
经典系统windows xp sp3官方原版下载(附XP序列号) 在过几日,微软最新的操作系统windows 7就将像外发售了!虽然Vista操作系统已经问世多年,但XP系统仍然占据着王位,在市 ...