So I tried the IconValueRenderer... but it seems that a limitation is that you need to match to an exact piece of text before it will work. I managed to do this by matching to a field called "Type" with the value "Main".
The code I used:
IconValueRenderer.IconValue IconValue1 = new IconValueRenderer.IconValue("Main", mMainIcon, TextSymbols);
IconValue1.TextFieldValueStringLengthMin = 1;
IconValue1.TextFieldValueStringLengthMax = 3;
IconValueRenderer.IconValue IconValue2 = new IconValueRenderer.IconValue("Main", mHighwayIcon, TextSymbols);
IconValue2.TextFieldValueStringLengthMin = 3;
IconValue2.TextFieldValueStringLengthMax = 4;
IconValueCollection.Add(IconValue1);
IconValueCollection.Add(IconValue2);
IconValueRenderer IconValueRenderer = new IconValueRenderer("Type", "RD_NUMBER", IconValueCollection);
The problem with this is that I really only want to match on length, and not any specific value in the field. I want my application to be compatible with Shape File dbf files that I do not know the exact column structure of.
I tried not including the Value field but nothing renders at all:
IconValueRenderer.IconValue IconValue1 = new IconValueRenderer.IconValue();
IconValue1.Icon = mMainIcon;
IconValue1.TextSymbols = TextSymbols;
IconValue1.TextFieldValueStringLengthMin = 1;
IconValue1.TextFieldValueStringLengthMax = 3;
IconValueRenderer.IconValue IconValue2 = new IconValueRenderer.IconValue();
IconValue2.Icon = mHighwayIcon;
IconValue2.TextSymbols = TextSymbols;
IconValue2.TextFieldValueStringLengthMin = 3;
IconValue2.TextFieldValueStringLengthMax = 4;
IconValueCollection.Add(IconValue1);
IconValueCollection.Add(IconValue2);
IconValueRenderer IconValueRenderer = new IconValueRenderer();
IconValueRenderer.IconValues = IconValueCollection;
IconValueRenderer.FieldName = "RD_Name";
Is there another way to use the IconValueRenderer where I do not need to match on an exact value?