I have created a table view which users can filter features by making selection via multiple combo boxes

public void UpdateSelection()
{
QueuedTask.Run(() =>
{
if (_tableContent != null)
{
QueryFilter qfFType = new QueryFilter { WhereClause =
$@"FEATURE_CLASS = '{Feature}'" };
QueryFilter qfState = new QueryFilter { WhereClause =
$@"STATE_ALPHA = '{State}'" };
QueryFilter qfCounty = new QueryFilter { WhereClause =
$@"COUNTY_NAME = '{County}'" };
QueryFilter qfQuad = new QueryFilter { WhereClause =
$@"MAP_NAME = '{Quad}'" };
Dictionary<QueryFilter, string> FieldFilterDic = new
Dictionary<QueryFilter, string>
{
{ qfFType, Feature},
{ qfState, State },
{ qfCounty, County},
{ qfQuad, Quad}
};
if (Feature == "All")
FieldFilterDic.Remove(qfFType);
if (State == "All")
FieldFilterDic.Remove(qfState);
if (County == "All")
FieldFilterDic.Remove(qfCounty);
if (Quad == "All")
FieldFilterDic.Remove(qfQuad);
if (FieldFilterDic.Count > 0)
{
var firstFilter = FieldFilterDic.Keys.First();
var firststring = FieldFilterDic[firstFilter];
GNISFLayer.Select(firstFilter,
SelectionCombinationMethod.New);
FieldFilterDic.Remove(firstFilter);
foreach (KeyValuePair<QueryFilter, string> kvp in FieldFilterDic)
{
GNISFLayer.Select(kvp.Key,
SelectionCombinationMethod.And);
}
}
else
GNISFLayer.ClearSelection();
}
});
}
The method above works fine for selecting features based on multiple criteria taken from combo boxes.
I would also like to remove features from the display as user filters out the features.
I think I can adapt the syncing myself as far as if I can use multiple criteria on the Definition Query. For instance, something like
Definition Query = GNISFLayer.SetDefinitionQuery($@FEATURE_CLASS = '{Feature}' && $@STATE_ALPHA = '{State}'");