This document is archived and information here might be outdated.  Recommended version.

IQueryFilter.SubFields Property (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Geodatabase > ESRI.ArcGIS.GeoDatabase > Interfaces > IQ > IQueryFilter Interface > IQueryFilter.SubFields Property
ArcGIS Developer Help

IQueryFilter.SubFields Property

The comma delimited list of field names for the filter.

[Visual Basic .NET]
Public Property SubFields As String
public string SubFields {get; set;}
HRESULT get_SubFields(
  System.String* SubFields
HRESULT put_SubFields(
  BSTR SubFields
SubFields [out, retval]

SubFields is a parameter of type BSTR* SubFields [in]
SubFields is a parameter of type BSTR

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


You can use the SubFields property to improve performance when using query filters. The performance gain comes from just fetching the field values that you require rather than all the data for each row. The default value for SubFields is "*", which indicates that all field values will be returned. Setting it back to this original (default) "*" can be done either by setting it to "*" or to "".

The SubFields property should be a comma-delimited list of the columns that are required. For example, to retrieve two fields named "OBJECTID" and "NAME", the property should be set to "OBJECTID, NAME" (the space is optional).

It isn�t necessary to set the subfields when the query filter is used in a context in which no attribute values are fetched, for example, when selecting features.


When accessing rows from a subset of data defined by a query filter, all the fields will be present, but just those specified by SubFields will be populated with values. This ensures that the field index positions for an object remain constant no matter how it was hydrated.

When editing data, always use "*" for the SubFields property.

See Also

IQueryFilter Interface

.NET Samples

Multivariate renderer