我需要为我的实体中的每个部分添加一个图标。例如,我需要为常规信息提供一个图标,另一个用于交互部分。 有什么想法我怎么能这样做?如何为每个部分制作背景颜色? 提前谢谢,
答案 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(在线)中测试了此代码。而且图像有点粗糙。您需要自己处理样式(内联)和尺寸。
这当然不受微软支持:)