Removing the Comma (or Changing the Format Pattern) in the Numeric Control in Infor CRM Web

The Numeric control used in QuickForms in the Infor CRM Web client is rendered as a Dojo Dijit at runtime. The properties editor in Application Architect does expose a few properties you can set to change how the numeric value is formatted, such as decimal places, etc. However, it doesn’t allow you to specify a format or pattern for the numeric value. By default, it will always show a comma. This is less than ideal for some numeric values, for example, if your numeric value is a year – or any other value where you just don’t want a comma. The Dojo NumericTextBox does allow for a pattern to be specified, this just isn’t exposed in the control in Application Architect. However, we can modify this at runtime.

To remove the comma from numeric value by first getting a reference to the widget itself and then setting the pattern. If we set the pattern to “#” this will just display the numeric value without any extra formatting. The widget that gets created at runtime isn’t just the Numeric control’s ClientID. We must append “_NumericTextbox_NumberTextBox” to the end of it to get the correct widget. For example, if the Numeric control’s ID is “StartYear”, our widget name will be StartYear.ClientID + “_NumericTextbox_NumberTextBox”. Once we get a reference to the widget, we can change it’s pattern. Finally, to trigger the change in the displayed value, we can trigger it’s blur event handler which will update what is displayed in the control based on the new pattern.

The code to remove the comma would look like this. Add the following to a Load Action:

Now, there will no longer be a comma added to the numeric value and the control will still only allow numeric values as normal. Of course, it would be nice if Infor would add an exposed property for the format in the control in Application Architect, then none of this would be necessary. At least for now, you can manipulate it, if needed, at runtime.

Ryan Farley is the Director of Development for Customer FX and creator of slxdeveloper.com. He's been blogging regularly about SalesLogix, now Infor CRM, since 2001 and believes in sharing with the community. He loves C#, Javascript, web development, open source, and Linux. He also loves his hobby as an amateur filmmaker.

2 Comments

Andre Wollner
on November 28, 2017 at 10:18 am

Hi Ryan, thank you for this post.
Unfortunately, this doesn’t quite work for me.
As soon as I change the record or change the value of that field, the comma will be displayed again until I reload the page with F5.

We are also concerned with a year field. Do you also have a solution to suppress the 0 at NULL values?