如何根据下拉列表JS和CRM更改默认表单?

时间:2013-03-07 22:56:26

标签: javascript forms dynamics-crm-2011 crm

好的,我在CRM 2011中尝试做的是有一个下拉菜单,其中有两个选项:“支持”和“教授服务”,这是针对Case实体的。现在,我有两个表单,一个名为“支持”,一个名称为“Prof. Services”。

我想要发生的是,如果一个Case在打开时将下拉列表设置为“Support”,它应该以“Support”形式打开,如果下拉列表设置为“Prof. Services”,它应该打开“教授服务”表格。

我遇到了这篇文章:http://social.microsoft.com/Forums/en-US/crmdevelopment/thread/5ba919f7-9f7c-4abf-ba88-224951bb7c11并在JScript Web资源中使用了该代码。然后在我的两个表单上,我转到表单属性并添加了一个OnLoad函数setForm()(如下面的JS代码中所示)。但这不起作用。右侧表单未显示正确的案例/下拉列表值。这是我正在使用的代码:(任何帮助调试这将非常感激)*请记住我是初学者JS'er:)

function setForm() {
var currentForm= Xrm.Page.ui.formSelector.getCurrentItem().getId();                         
var Information;
var cType = Xrm.Page.data.entity.attributes.get('new_CaseType').getText().toLowerCase();    
var forms = Xrm.Page.ui.formSelector.items.get();
var i = 0;

for (i = 0; i < forms.length; i++) {                            
    if (forms[i].getLabel().toLowerCase()==cType) {             
        if (currentForm!=forms[i].getId()) {                    
            forms[i].navigate();
        }
        return;
    }
    if (forms[i].getLabel().toLowerCase()=='information') {     
        Information=forms[i];                                   
    }
}
if (currentForm!=Information.getId()) {                         
    Information.navigate();
}
}

1 个答案:

答案 0 :(得分:0)