Microsoft Dynamics:字段的值显示在窗体上,但它不显示在网格视图上

时间:2013-03-21 04:38:57

标签: javascript dynamics-crm-2011 field microsoft-dynamics

我对该字段值的可见性存在疑问。我正在使用MS Dynamics CRM。在我对字段进行编码后,在表单中,此字段的值显示完美。但是,它没有出现在视图上。

我已经尝试过,onSaveonLoadread-only等,但它不起作用。我也调试了它,没有错误。我不知道问题是什么。

代码:

function change_currentstatus() {
    var chk0 = document.getElementById('new_pc1');
    var chk1 = document.getElementById('new_m1');
    var chk2 = document.getElementById('new_m2');
    var chk3 = document.getElementById('new_m3');
    var chk4 = document.getElementById('new_m4');
    var txt = document.getElementById('new_currentstatus');
    if(!chk4.checked == false) {
        txt.value = 'm4';
    } else if(!chk3.checked == false) {
        txt.value = 'm3';
    } else if(!chk2.checked == false) {
        txt.value = 'm2';
    } else if(!chk1.checked == false) {
        txt.value = 'm1';
    } else if(!chk0.checked == false) {
        txt.value = 'pc1';
    } else {
        txt.value = ' ';
    }
}

设置或JavaScript可能有问题。

1 个答案:

答案 0 :(得分:2)

我的第一个观察是:使用CRM 2011 javascript对象模型,获取简历here。因此,对于读取字段使用此:

var varMyValue = Xrm.Page.getAttribute("CRMFieldSchemaName").getValue();

设置值:

Xrm.Page.getAttribute("po_CRMFieldSchemaName").setValue('My New Value');

所以你必须改变这段代码:

if(!chk4.checked == false)
    txt.value = 'm4';

替换为:

if(!Xrm.Page.getAttribute("new_m4").getValue() == false)
   Xrm.Page.getAttribute("new_currentstatus").setValue('m4');