Dynamics CRM 4 で CRM グリッドを色付けするにはどうすればよいですか?
ビューの読み込み時に、エンティティのリストを自動的に背景色で表示したいと考えています。
私の目標は、リストされたエンティティのステータスに応じて異なる色を使用することです。たとえば、過去の日付フィールドを持つケースには色を付け、この日付が未来のケースには別の色を付けたいと考えています。
Dynamics CRM 4 で CRM グリッドを色付けするにはどうすればよいですか?
ビューの読み込み時に、エンティティのリストを自動的に背景色で表示したいと考えています。
私の目標は、リストされたエンティティのステータスに応じて異なる色を使用することです。たとえば、過去の日付フィールドを持つケースには色を付け、この日付が未来のケースには別の色を付けたいと考えています。
以下で説明する解決策は、 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";
}
}
}
}
そして、ここにあなたが得るものがあります: