Colorize the CRM grid

China☆狼群 提交于 2019-11-28 06:28:18

问题


How can I colorize the CRM grid on Dynamics CRM 4?

I would like to automatically display the list of an entity with a back color when loading the view.

My goal is to have different colors depending on the status of the listed entity. For example, I want to have a color for cases that have a date field that is in the past and another color for cases that have this date in the future.


回答1:


The solution described below is a change not supported by Microsoft (that means, use it at your own risks). Plus, there is no guarantee that it won't be broken when applying CRM rollups.


On the CRM server, modify the C:\Program Files\Microsoft Dynamics CRM\CRMWeb\_static\_grid\grid.htc file:

Add the following code at the end of the initializeData() function:

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";
            }
        }
   }
}

And here's what you get:



来源:https://stackoverflow.com/questions/10813204/colorize-the-crm-grid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!