对IFeatureClass的选择结果进行再次选择及排序

最近需要对IFeatureClass的选择结果进行再次选择,并对再次选择的结果按照两个属性进行排序操作。于是先用IFeatureClass.Select方法进行第一次选择,将选择的结果用ISelectionSet类型变量SelectionSet1存放。然后需要对SelectionSet1中的要素进行再次选择,并且对选择结果进行排序,这时候问题就来了:用ISelectionSet.Search方法进行查询选择并排序时,如果在IQueryFilter.WhereClause选择语句后面加上排序词(order by xxx)就会报错:SQL命令未正确结束。

问题:ISelectionSet.Search方法进行选择不支持按属性排序

原因:未搞清,疑为AE不支持或者自己方法不正确

解决方法:将第二次查询结果SelectionSet1.Select通过ISelectionSet变量SelectionSet2进行存储,然后使用ITableSort接口对SelectionSet2中的数据进行按属性值排序。代码如下:

ISelectionSet SelectionSet2= emptySelSet.Select(queryFilter,esriSelectionType.esriSelectionTypeHybrid,esriSelectionOption.esriSelectionOptionNormal,null);//存储第二次查询结果

string strSortField = "CARID,TIME";//排序所需属性
ITableSort pTableSort = new TableSort();
pTableSort.SelectionSet = SelectionSet2;//排序数据源输入
pTableSort.Fields = strSortField;
pTableSort.set_Ascending(strSortField,true);//选择升序排列
pTableSort.Sort(null);

IFeatureCursor emptyLineFeaCursor = pTableSort.Rows as IFeatureCursor;//排序结果输出

  

时间: 03-09

对IFeatureClass的选择结果进行再次选择及排序的相关文章

桥堆的参数选择以及滤波电容的选择

1.桥堆的参数选择: 2.滤波电容选择:对于整流电压的输出电压大小,大家一定不陌生.很多人会说,输出平均值全波0.9倍,半波0.45倍的交流有效.但是在设计中,我们常常发现一个事实,例如在半波整流后,输出电压得到的不止0.45倍,9V交流整流后可能有11-12V.之前我一直很困惑,是我记错了计算倍数吗?翻了很多书籍,公式当然是没错的.那到底怎么回事? 可能之前我们在学校学这个方面知识点的时候太过注重整流电路,而忽略了脉动比的概念,所以造成我们现在很多人对这一简单的知识不是很清晰.其实这里是由于整

android中选择控件与选择界面自然过度效果的实现--一种新的交互设计

转载请标明出处: http://blog.csdn.net/jianghejie123/article/details/40648931 在安卓中经常遇到须要选择一个东西的功能,比方选择日期.选择文件,选择地点等,通常我们的做法是使用选择对话框.比方选择日期用datepicker,有时候也使用activity,可是这两种方式都有一个缺点,就是用户非常明显的感觉到了界面之间的切换. 有时候.以下这样的选择数据的交互方式应该会更好些: 事实上上面的app效果来自与CapitaineTrain应用,好

JS 控制checkbox 获取 全选 全不选 一行不选择全选则不被选择 全部选择全选被选择

</pre><pre name="code" class="javascript"><span style="font-size:18px;">//点击全选按钮的事件操作 function selectAll(){ var allcheckBoxs=document.getElementsByName("iTo"); var select=document.getElementsByName

关于时间的操作(JavaScript版)——年月日三级级联(默认依次显示请选择年、请选择月和请选择日)

这篇博客和前一篇博客基本相同,只是显示的默认值不同: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>年月日三级级联(默认依次显示请选择年.请选择月和请选择日)</title> <meta http-equiv="content-type" content="text/ht

冒泡 选择 插入 希尔 堆 归并 快速 排序算法

排序相关概念 排序:对一序列对象根据某个关键字进行排序: 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面: 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面: 内排序:所有排序操作都在内存中完成: 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行: 排序耗时的操作:比较.移动: 排序分类: (1)交换类:冒泡排序.快速排序:此类的特点是通过不断的比较和交换进行排序: (2)插入类:简单插入排序.希尔排序:此类的特点是通过插入的

EasyUI 日期选择插件封装成选择到月份的插件

将普通的日期选择插件封装成选择到月份的插件:                     var nowMonth = new Date();                    var month = nowMonth.getMonth()+1;                    month = month < 10 ?"0"+month:month;                    var fmdate =nowMonth.getFullYear()+"-&

SQL面试题:有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列

.请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. ------------------------------------------ select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name [sql] view plain copy drop table

选择结构二switch选择结构

 在上一章节我们讲解了if选择结构  本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构  以及 两种选择结构的运用场合 下面我们来看一个问题 问题:小明参加计算机比赛, 如果获得第1名那么就给他买一个车, 如果获得第2名就给他买一个手机 如果获得第3名就给他买本书 否则就什么都不买 这个题的解决方法可以用多重if选择结构  还可以用switch选择结构下面我们具体的使用每种选择结构都来操作一下 if(成绩==第

css基础知识+css选择符(元素选择符、关系选择符)

首先我先介绍在html网页中怎么使用导入css样式的方法 1.行内样式:<p style="color:red">行内样式使用css</p> 2.页内样式:在head标签里设置 <span style="font-size:18px;"><head> <style> p{ color:red } </style> </head> <body> <p>页内使用c