在动态CRM中添加部分图标和更改背景颜色

时间:2016-04-18 10:51:03

标签: dynamics-crm-2011 dynamics-crm dynamics-crm-2013 dynamics-crm-2015 dynamics-crm-2016

我需要为我的实体中的每个部分添加一个图标。例如,我需要为常规信息提供一个图标,另一个用于交互部分。 有什么想法我怎么能这样做?如何为每个部分制作背景颜色? 提前谢谢,

2 个答案:

答案 0 :(得分:3)

无法为部分指定图标。您可以做的最好的事情是为每个部分添加一个网络资源,并将它们链接到一个图像,但它并不像您正在寻找的那样。< / p>

没有受支持的方法来修改表单背景颜色。但是,如果您不关心保持支持,可以使用jQuery来完成它。将此函数放入表单脚本:

function changeSectionBackgroundColor(sectionId, color) {
    parent.$("table.ms-crm-FormSection[name='"+sectionId+"']").css({"background-color": color});
}

并像这样使用它:

changeSectionBackgroundColor("General_Section_2", "red");
changeSectionBackgroundColor("General_Section_2", "#ababab");

答案 1 :(得分:1)

您可以尝试执行此类操作以插入剖面图像:

var stackoverflow = (function (Xrm)
{
    var sectionBarClassName = '.ms-crm-Form-SectionBar';                // name of the CSS class given to the Section's Label's <td> element

    function GetSection(tabName, sectionName)
    {
        var parentTab = Xrm.Page.ui.tabs.getByName(tabName);            // get the tab
        var section = parentTab.sections.getByName(sectionName);        // get the section

        return section;
    }

    function AddSectionImage(tabName, sectionName, imageUrl)
    {
        var section = GetSection(tabName, sectionName);                // retrieve section using Xrm
        var elSection = document.querySelector('table[name=' + section.getKey() + ']');
        var elSectionHeader = elSection.querySelector('tr:first-child');
        var elTitles = elSection.querySelectorAll(sectionBarClassName);
        if (elTitles.length === 1)                                     // we can assume that this section has a title
        {
            var elImg = document.createElement('img');
            elImg.src = imageUrl;
            elTitles[0].insertBefore(elImg, elTitles[0].firstChild);
        }
    }

    return {
        AddSectionImage : AddSectionImage
    };

})(Xrm);

然后调用此代码并传入选项卡和部分的名称(不是标签)以及要显示的图像的相对URL。像这样:

stackoverflow.AddSectionImage('tab_5', 'tab_5_section_1', '/imgs/Cancel_16.png');

我只在CRM 2016(在线)中测试了此代码。而且图像有点粗糙。您需要自己处理样式(内联)和尺寸。

这当然不受微软支持:)