在Dynamics CRM中添加部分图标并更改背景颜色

dynamics-crm-2011 dynamics-crm dynamics-crm-2013 dynamics-crm-2015 dynamics-crm-2016

1235 观看

2回复

88 作者的声誉

我需要为实体中的每个部分提供一个图标。例如,我需要为“一般信息”提供一个图标,为“交互”部分提供另一个图标。是否有关于我该怎么做的想法?请问如何为每个部分设置背景颜色?提前致谢,

作者: toto1999 的来源 发布者: 2016 年 4 月 18 日

回应 (2)


3

3348 作者的声誉

无法将图标分配给各节。最好的办法是将Web资源添加到您的每个部分,并使它们链接到图像,但这听起来并不是您想要的。

没有支持的方法来修改表单背景色。但是,如果您不关心仍受支持,则可以使用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");
作者: Polshgiant 发布者: 18.04.2016 12:17

1

4017 作者的声誉

您可以尝试执行以下操作以插入“节”图像:

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(在线)中测试了此代码。而且图像有点粗糙。您需要自己照顾样式(内联)和大小。

当然,这不受Microsoft支持:)

作者: jasonscript 发布者: 09.09.2016 03:06
来自类别的问题 :
32x32