ArcEngine 读取大数据量的IFeatureClass或ITable分页进行显示
ArcEngine已经实现打开属性表功能,但是如果记录达到上万条的话,就非常慢,影响用户体验。
IQueryFilterDefinition3接口可以一次查询几百条数据,然后下次可以接着往下获取记录。
参考代码:IQueryFilterDefinition3 queryFilterDef = (IQueryFilterDefinition3)queryFilter;
int count = FeatureLayer.FeatureClass.FeatureCount(queryFilter);
int offset;
int rowcount;
queryFilterDef.PostfixClause = "order by OBJECTID asc"; //排序
queryFilterDef.SetPaginationClause(0, 200);
然后下次第一个参数设置201,以此类推。可以将此数值参数化