Introduced in the Infor CRM web client version 9.0, and all subsequent versions, there are two ways for smart parts to be rendered. When the QuickForm2Web template renders the quick forms into ASP.Net user controls, it looks for 2 items to determine the overall class that the user control inherits. Let’s take a look at all of this.
All custom quick forms in the Application Architect are stored in the VFSDATA table. Internally, these quick forms have an attribute in their XML definition of isCustom=”true”. All of the out-of-the-box (OOTB) quick forms are stored in the VIRTUALFILESYSTEM table. These quick forms all have an attribute in their XML definition of isCustom=”false”.
When the quick forms are rendered, using the template:
- All standard quick forms end up with the top level table having a class of “not-custom formtable”
- All custom quick forms end up with the top level table having a class of “is-custom formtable”
The result of the tables having these two different classes when viewed in the web client is that the custom quick forms will look like the “old” pre 9.0 version CRM screens with the label to the left of the input control, all on one line. Like shown here:
![]()
The non-custom screens will have the controls with the labels stacked above the input controls, like shown here:
![]()
In order to make your custom quick forms look like the rest of the standard quick forms, you will need to do one additional step. On the properties of your quick form (the property of the form itself) there is an attribute under the Appearance section called “Style Scheme”. In that attribute you will need to type in the value opt-in.

Once you do this, when the custom quick form renders to the user control it will contain the top level table having a class of “is-custom formtable opt-in”. With that class defined for it, the custom quick form will now look like the OOTB quick forms, like so: ![]()
Please note, that for custom custom smart parts (not quick forms) you should review the class definition of the top table and ensure you have the class name of “is-custom formtable opt-in” or “not-custom formtable” in order to ensure that the smart part looks like the rest of the OOTB system. (If that is your desired outcome).
It is also important to note that if you modify any standard quick form (even something as simple as moving a field from one spot to another) it is actually creating a copy of the quick form in the VFSDATA table. That copy is defined with the attribute isCustom=”true”. Once you save that quick form, it will automatically populate “opt-in” into the quick form’s Style Scheme attribute (if it is empty). This will make the custom form look like the OOTB form, unless you choose to remove that value from the Style Scheme attribute.
This styling based on the top table class definition is all in the css/theme.css file.



