着色CRM网格

时间:2012-05-30 09:08:19

标签: dynamics-crm dynamics-crm-4

如何在Dynamics CRM 4上着色CRM网格?

我想在加载视图时自动显示带有背景颜色的实体列表。

我的目标是根据列出的实体的状态使用不同的颜色。例如,我希望为具有过去日期字段的案例设置颜色,为将来具有此日期的案例设置另一种颜色。

1 个答案:

答案 0 :(得分:2)

下面介绍的解决方案是Microsoft的更改不支持(这意味着,使用它需要您自担风险)。此外,无法保证在应用CRM汇总时不会破坏它。


在CRM服务器上,修改C:\Program Files\Microsoft Dynamics CRM\CRMWeb\_static\_grid\grid.htc文件:

initializeData()函数的末尾添加以下代码:

if (window.location.href.toLowerCase() == 
    "http://CrmServerName:5555/OrganizationName/cs/home_cases.aspx") {
    // We ensure that we are on the organization we want to colorize and that we 
    // are on the Cases page

    var colorizeColumn = InnerGrid.FindColumnIndex("new_date");

    if (colorizeColumn > 0) {
        // We ensure that the column we'll use to colorize is present

        for (var i = 0; i < InnerGrid.AllRecords.length; i++) {
            // For each line

            // Build the date value from the displayed date
            var new_date_displayed = InnerGrid.AllRecords[i][3].
                cells[colorizeColumn].innerText;
            var new_date_value = new Date(new_date_displayed.substring(6,10), 
                                          new_date_displayed.substring(3,5) - 1, 
                                          new_date_displayed.substring(0,2), 
                                          new_date_displayed.substring(11,13), 
                                          new_date_displayed.substring(14,16), 0, 0);
            // Get current date
            var current_datetime = new Date();

            if (new_date_value <= current_datetime) {
                InnerGrid.rows[i].style.backgroundColor="ff0066";
            } else {
                InnerGrid.rows[i].style.backgroundColor="ff6600";
            }
        }
   }
}

这就是你得到的:

Colorized grid