返回包含对象IDs的选择。
[Visual Basic.NET] Public Function Select(ByVal QueryFilter As IQueryFilter,ByVal selType As esriSelectionType, ByVal selOption As esriSelectonOption, ByVal selectionContainer As IWorkspace) As ISelectionSet
[C#] public ISelectionSet Select(IQueryFilter QueryFilter, esriSelectionType selType, esriSelectionOption selOption, IWorkspace selectionContainer);
Select返回一个满足条件的ISelectionSet。如果IQueryFilter中无值,将选择要素类的所有要素。调用IFeatureClass的Select方法同调用ITable中的相应方法效果相同。调用Select时,selectionContainer不需要参数。实参应为Null(C#,VB.Net)或者Nothing(VB6)。(注意:提供workspace类型的selectionContainer只读参数将会失败,因为Select会将选择的结果写入workspace。
IFeatureClass Select Example
[Visual Basic 6.0]
下面的例子使用属性查询选择要素类的子集。
Dim pFeatcls As IFeatureClass
Dim pFeatLayer As IFeatureLayer
Dim pDoc As IMxDocument Dim pMap As IMapSet pDoc=ThisDocument
Set pMap=pDoc.Maps.Item(0)
Set pFeatLayer=pMap.Layer(0)
Set pFeatcls=pFeatLayer.FeatureClass
'创建一个query过滤器,并赋予一个where从句。
Dim pQFilt As IQueryFilter
Set pQFilt=New QueryFilter
pQFilt.WhereClause="Shape_Area>77000"
'使用query过滤器选择要素
Dim pSelectionSet As ISelectionSet
'当调用Select时,不需要selectionContainer参数,在VB6中应赋nothing
Set pSelectionSet=pFeatcls.Select(pQFilt,esriSelectionTypeIDSet,esriSelectionOptionNormal,Nothing)
'计算选中的数目
MsgBox pSelectionSet.Count
[C#]
public void IFeatureClass_Select_Example(IFeatureClass featureClass)
{
//创建查询过滤器并附予一个where从句
IQueryFilter queryFilter=new QueryFilterClass();
queryFilter.WhereClause="Shape_Area>77000";
//使用query过滤器选择要素
//调用Select时不需要selectionContainer参数。在C#和VB.Net中赋给其Null值
ISelectionSet selectionSet=featureClass.Select(queryFilter,esriSelectionType.esriSelectionTypeIDSet,esriSelectionOption.esriSelectionOptionNormal,null);
//计算选择的要素数目
Console.WriteLine("{0}features where selected from{1} with where clause {2}",selectionSet.Count,featureClass.AliasName,queryFilter.WhereClause);
}
IObjectClass.RelationshipClasses Property
这个对象类参与的关系类。
[Visual Basic.NET] Public Function get_RelationshipClasses(ByVal Role As esriRelRole) As IEnumRelationshipClass
[C#] public IEnumRelationshipClass get_RelationshipClasses(esriRelRole Role);
返回对象类参与的关系类的枚举。
geodatabase的对象类可能参与多个关系类。esriRelRole定义了对象类的角色(origin、destination或两者都有),RelationshipClasses属性根据其角色获得关系类的列表。这个属性返回一个IEnumRelationshipClass接口,使用它可以遍历返回的关系类。