I am relatively new to ESRI products, so this might be a trivial question but I would be grateful if anyone can point me in the right direction. I am currently using ArcGis Pro 2.4 SDK.
I have set a renderer (CIMClassBreaksRenderer) NumberFormat (CIMNumericFormat) to ZeroPad=false, and applied it to a FeatureLayer (using SetRenderer). When the feature renders, the feature values in the Contents pane have padded zeroes but the property is set to false (as applied in the code) in the Advanced Symbology. If you alter anything temporarily on the Advanced Symbology pane, the zero padding setting is then applied to the values. Anyone know why this is not applied on initial
Hi Geoff
Which version of Pro are you on?
Hi Uma,
I'm on Pro 2.4.3.
Hi Geoff
I am seeing the same issue. This is a bug. I have submitted an issue to the development team and will post when it gets addressed.
Thanks for reporting this!
Uma
Thanks, Uma.
I can confirm that this has been fixed in version 2.6. Pro 2.6 will be released later this summer. You will be able to do something like this to get the correct label on the TOC that reflects the Number Format you use.
CIMClassBreaksRenderer renderer = (CIMClassBreaksRenderer)featureLayer.CreateRenderer(gcDef);
renderer.NumberFormat = new CIMNumericFormat {
RoundingValue = 9,
RoundingOption = esriRoundingOptionEnum.esriRoundNumberOfDecimals,
ZeroPad = false
};
foreach (var br in renderer.Breaks) {
var specialChar = br.Label.Substring(0, 1);
var value = NumberFormat.ValueToString(numberFormat, br.UpperBound);
br.Label = $"{specialChar}{value}";
}
Thanks Uma.
Regards,
Geoff