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:
// javascript code to get control, change pattern, and trigger blur
var script = @"dojo.ready(function() {{
var d = dijit.byId('{0}_NumericTextbox_NumberTextBox');
d.constraints.pattern = '#';
d._onBlur();
}});";
// inject code on page, change StartYear to the name of your numeric control
ScriptManager.RegisterStartupScript(this, GetType(), "numericFormatScript", string.Format(script, StartYear.ClientID), true);
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.




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?
Thank you and best regards
Hi Andre, only thing I can think of is that it’s not finding the control, or it’s running before dojo has done it’s work, or that some other error is happening. Any errors in the dev tools console?
Hi Ryan,
Can the same thing be done for a numeric field in an editable grid view?
Thanks,
Kevin