MS CRM - setVisible

20,563

Solution 1

Just to add to the points already made..

The difference between

Xrm.Page.ui.tabs.get('new_fieldname').setVisible(false);

And

Xrm.Page.getAttribute('new_fieldname').controls.get(0).setVisible(false);

The first refers to a tab (Xrm.Page.ui.tabs), the second refers to an attribute (Xrm.Page.getAttribute).

So if you wanted to hide a whole tab, its sections and fields you can use the first one. If you want to just hide an individual field you can use

Xrm.Page.getControl("new_fieldname").setVisible(false);

Which is itself a shortcut from

Xrm.Page.ui.controls.get('new_fieldname').setVisible(false);

Solution 2

to hide a text field the right method is this:

Xrm.Page.getControl("new_fieldname").setVisible(false);

Solution 3

The attributes are the data, the controls are the HTML Dom objects. You don't tell the data to hide, you tell the control that is displaying the data to hide.

Share:
20,563
ParPar
Author by

ParPar

Updated on July 05, 2022

Comments

  • ParPar
    ParPar almost 2 years

    I am newbie with CRM and I was googling for how to hide and show a text field using jScript library in MS CRM (online) and found several options of using the function setVisible.

    I tried those options:

    1. Xrm.Page.ui.tabs.get('new_fieldname').setVisible(false);
    2. Xrm.Page.data.entity.attributes.get('new_fieldname').setVisible(false);
    3. Xrm.Page.getAttribute('new_fieldname').controls.get(0).setVisible(false);

    But only the last one is really working. The first option gives me an error message.

    What is the different between them?