Wednesday, May 4, 2011

Rearrange tab Order oin CRM form from Left to Right

CRM tabs from top-to-bottom, left-to-right

( within a section; after which it moves on to the next section ):


Example 1: ( CRM Tab Order )

Field1 Field3

Field2 Field4
Most other applications tab from left-to-right, top-to-bottom:

Example 2: ( Normal Tab Order )

Field1 Field2

Field3 Field4


How the Tab Order Works


Each data entry field has a property called tabIndex which is a number ( integer ) that instructs the window the order in which to move the cursor between the various fields. The order is from from lowest to highest, i.e., from 1 to 10,000, or whatever.

This means your first field has the lowest tabIndex value and your last field as the highest.

Microsoft CRM appears to set the first data entry field tabIndex to 1000 and increases the tabIndex by 10 for each subsequent field. For example:

Example 3: ( CRM Tab Order, with TabIndex Values )

Field1: TabIndex=1000 Field3: TabIndex=1020

Field2: TabIndex=1010 Field4: TabIndex=1030

Changing the Tab Order

In certain cases, you may wish to change the tab order so that users are not so confused by the change ( and you as the form designer are not confused as to where and how to place your fields ). All we need is a little JavaScript code in the Form's OnLoad event, and we're set:

crmForm.all.Field1.tabIndex = 1000;

crmForm.all.Field3.tabIndex = 1010;

crmForm.all.Field2.tabIndex = 1020;

crmForm.all.Field4.tabIndex = 1030;



Note: replace Fieldx with the schema name of the field and leave the rest as is.

Which produces the following Tab Order:

Example 3: ( Tab Order Reset )

Field1: TabIndex=1000 Field3: TabIndex=1010

Field2: TabIndex=1020 Field4: TabIndex=1030

Final Notes:

Setting the tabIndex to 0 will result in the field being ignored by the tab order. While you don't run into this requirement often, it is there if you need it.

No comments:

Post a Comment