我們經常要對表單里各種類型的字段進行讀取或賦值,下面列出各種類型的讀寫方法及注意事項:
1. lookup 類型
- 清空值
var state = Xrm.Page.getAttribute("new_state");if (state != null){Xrm.Page.getAttribute("new_state").setValue(null);}
- 讀取值
var state = new Array();state = Xrm.Page.getAttribute("new_state").getValue();
if(state != null){var stateText = state[0].name;var stateId = state[0].id;
var stateType = state[0].entityType;
alert("State is: " + stateText + ", ID: " + stateId + "of type: " + stateType);
}
特別要注意這里取出來的值,一定要加[0],不然取不到值
- 賦值
var state = new Array();state[0] = new Object();
state[0].id = "{BA0762E4-64D2-E111-909E-00155D6C871A}";
state[0].name = "New York";state[0].entityType = "new_state";
Xrm.Page.getAttribute("new_state").setValue(state);
2. Option sets
- 讀取值
var sval = Xrm.Page.getAttribute("new_optionset").getSelectedOption().text;var sval = Xrm.Page.getAttribute("new_optionset").getSelectedOption().value;
分別讀取顯示文本和值
另外,我們還可以用下面的方法來獲取text和value:
var sval = Xrm.Page.getAttribute("new_optionset").getText();var sval = Xrm.Page.getAttribute("new_optionset").getValue();
- 賦值
function SetOSValue(osName, osLabel)
{var options = Xrm.Page.getAttribute(osName).getOptions();
for(i = 0; i < options.length; i++){if (options[i].text == osLabel)
Xrm.Page.getAttribute(osName).setValue(options[i].value);}}
3. Datetime
- 讀取值
var myContactBirthday;
myContactBirthday = Xrm.Page.getAttribute("birthdate").getValue();
alert("Contact birthday is: " + myContactBirthday);var year = myContactBirthday.getFullYear();
var month = myContactBirthday.getMonth(); // from 0 to 11var day = myContactBirthday.getDate(); // from 1 to 31month = month + 1;alert("Year: " + year + ", Month: " + month + ", Day: " + day);
- 賦值
var currentDateTime = new Date();Xrm.Page.getAttribute("new_myDate").setValue(currentDateTime);
4. Currency
- 讀取值
var myCurrencyField;
myCurrencyField = Xrm.Page.getAttribute("new_currencyfield").getValue();
alert("The value of this Currency field is: " + myCurrencyField);
- 賦值
var myCurrencyValue = 6.25;
Xrm.Page.getAttribute("new_currencyfield").setValue(parseFloat(myCurrencyValue));
5. number, text
- 讀取值
var myNumber;
myNumber = Xrm.Page.getAttribute("new_number").getValue();
alert("The number in the field is: " + myNumber);
- 賦值
Xrm.Page.getAttribute("new_text").setValue("abc");Xrm.Page.getAttribute("new_number").setValue(123);
Dynamic CRM 2013學習筆記 系列匯總