2

Dynamics CRM 4 で CRM グリッドを色付けするにはどうすればよいですか?

ビューの読み込み時に、エンティティのリストを自動的に背景色で表示したいと考えています。

私の目標は、リストされたエンティティのステータスに応じて異なる色を使用することです。たとえば、過去の日付フィールドを持つケースには色を付け、この日付が未来のケースには別の色を付けたいと考えています。

4

1 に答える 1

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

そして、ここにあなたが得るものがあります:

色付きのグリッド

于 2012-05-30T09:08:19.157 に答える