Reputation: 7549
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:
Xrm.Page.ui.tabs.get('new_fieldname').setVisible(false);
Xrm.Page.data.entity.attributes.get('new_fieldname').setVisible(false);
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?
Upvotes: 5
Views: 21620
Reputation: 1
Besides using JavaScript to show/hide field you can use Business Rule to do the same job also CRM platform built to make things easier so when you want to do anything in CRM you must think about it with this order:
Upvotes: 0
Reputation: 6715
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);
Upvotes: 14
Reputation: 18895
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.
Upvotes: 4
Reputation: 15128
to hide a text field the right method is this:
Xrm.Page.getControl("new_fieldname").setVisible(false);
Upvotes: 10