【问题标题】:Dynamically add option to optionset in CRM 2013 with Javascript使用 Javascript 在 CRM 2013 中向选项集动态添加选项
【发布时间】:2014-05-30 16:05:35
【问题描述】:

我有一个带有空选项集的 CRM 2013 表单,我需要在加载表单时使用 Javascript 动态添加选项。

在表单的 onLoad 方法中,我进行 jQuery ajax 调用以获取要添加到选项集中的项目列表,然后循环遍历结果并调用控件上的 addOption 方法以添加项目。

新选项在选项集中显示得很好,但是当我运行表单并选择其中一个动态选项时,选择不会“粘住”,并且所选选项立即变为 NULL。它甚至不会触发选项集控件的 onChange 事件。

谁能帮我解决这个问题?我觉得这一定是可能的,因为我已经看过几十篇关于动态添加选项的博客文章,我完全按照,但它不起作用。

function form_Load()
{
    if (!formLoaded) {
        try {
            $.ajax({
                url: TECHNOLOGIES_URL,
                dataType: 'jsonp',
                success: function (response) {
                    $('#results').html(JSON.stringify(response, null, '    '));
                    var children = response.children;
                    var arrayLength = children.length;

                    // update the optionset
                    var xrmPage = Xrm.Page;
                    var pickListField = xrmPage.getControl("et_parenttechnology");
                    for (var i = 0; i < arrayLength; i++) {
                        //add items to parent technology option set
                        var option = { value : children[i].id , text : children[i].name };
                        pickListField.addOption(option);

                    }
                }
            });
        }
        catch (ex) { debugLog("test: " + ex.message); }
    }
    formLoaded = true;
}

【问题讨论】:

  • 也是我的问题。

标签: javascript crm microsoft-dynamics


【解决方案1】:

无法使用 JS 添加值。 您必须先添加它们,隐藏它们,然后只显示您想要的。 最后,您必须将“添加”操作替换为“显示”操作。

【讨论】:

  • 我也面临同样的问题。我对 CRM 非常陌生。您能否详细说明 Show() 操作的含义?非常感谢!
  • 您提到“...无法使用 JS 添加值”。这是否意味着根本不可能动态添加值,或者仅使用 JS 不可能?如果是这样,有没有其他方法可以动态地将值添加到选项集?谢谢。
【解决方案2】:

从技术上讲,您可以使用 SDK 添加和删除选项集值。您可以使用本示例中的代码 (http://msdn.microsoft.com/en-us/library/gg509023.aspx) 并在 SDK 的 SOAPLogger 项目中运行它,以获取 SOAP 请求,该请求又可以通过 JavaScript 执行。

但是,这会更改字段的系统元数据,不建议您通过客户端执行此操作。通过在创建所有可能值然后隐藏它们的答案中使用该方法,您可以将数据保留在其他记录中。如果您要实际删除与给定选项关联的元数据,它将从系统中的所有记录中删除该值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2019-02-22
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    相关资源
    最近更新 更多