『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS二次开发-如何利用用户定义的规则创建定制的排序

ArcGIS二次开发-如何利用用户定义的规则创建定制的排序
利用 ITableSort 接口可以完成普通的对记录排序的功能 。ITableSortCallBack 机制允许用户通过执行自定义的排序算法来完成定制的排序。本例演示了如何创建这样的用户类,通过实现ITableSortCallBack接口来完成该功能。 

       假设有如下原始数据:其中“Address”字段描述了道路(Street)的道路编号(Street Number)如“2805”,和道路名(Stree Name)如“Citrus Ave”。

 

       现在要按道路名排序所有的记录。因为排序字段时必须忽略道路编号,故需要自定排序规则。 

       首先需要创建用户自定义的类,并生成其实例。该类实现了ITableSortCallBack 接口。然后把它的引用赋给 ITableSort 的 Compare 属性。最后用 ITableSort 的 Sort 方法完成排序。 

       过程 UIBCustomSort_Click 是实现模块,调用过程 CustomSort 实现功能。 

       类模块 clsTailSort 为自定义模块,实现 ITalbeSortCallBack 接口。包括两个函数:ITableSortCallBack_Compare(用于定义字符串比较的规则)和Get_String(用于得到地址字段的道路名部分)。 
       过程 CustomSort 中创建 Tablesort 和 clsTailSort 的实例,并对结果进行排序,然后调用过程 CreateTable,将排序后的结果存入 C:\temp 目录的NewSortTable.dbf 文件,并作为独立表加入当前 Map。 



功能模块








      京ICP备2025132830号-1 京公网安备 号