Раскрасить gridview в динамике crm 2013?

У меня есть идея из это, чтобы раскрасить gridview, но он идет на локальную учетную запись . Поэтому, пожалуйста, дайте мне знать, есть ли способ выполнить вышеуказанную работу в онлайн-аккаунте или в пробной версии.


person user2951753    schedule 21.11.2013    source источник


Ответы (3)


Я нашел лучшее решение для этого: https://crmgridplus.codeplex.com

person PhuocLe    schedule 16.12.2014
comment
Не удалось импортировать в CRM 2013 SP1 (prem) - person Sergii Gorkun; 29.10.2015

Вы определенно можете сделать это с помощью javascript, но управление DOM не поддерживается Microsoft.

Ps: можно сделать как онлайн, так и локально

person minohimself    schedule 25.11.2013

Нашел это в Интернете. Выглядит коротким и простым, но также кажется ужасно неэффективным. Бьюсь об заклад, пользователь чувствует боль, если сетка содержит 250 записей на странице.

function alterGridRecords() {
    var gridTH = document.getElementById("crmGrid_divDataArea");
    var headers = gridTH.getElementsByTagName("TH");
    var tdata = gridTH.getElementsByTagName("TD");
    for (var n = 0; n < headers.length; n++)  {
        if (headers[n].innerText == "Rating") {
            for (var i = 0; i < tdata.length; i++)  {
                if (tdata[i].innerText == "Hot") 
                    tdata[i].style.backgroundColor = "green";
            }
        }
    }
}

Поэтому я переписал его на лету (не проверял), чтобы сделать его более эффективным.

function alterGridRecords() {
   var colName = "Rating";
   var gridId  = "crmgrid id here";
   var gridTH = document.getElementById(gridId);

   //find colName index
   var colIndex = (function(){ 
       var aTH = gridTH.getElementsByTagName("TH");
       for(var i = 0 ; i < aTH.length ; i++)
           if (aTH[i] == colName) return i;
       return -1;
   })();

   if (colIndex == -1) return;

   var colors = {
      Hot : "red",
      Cold : "green"
   }

   var rows = gridTH.getElementsByTagName("TR");    
   for (var r = 0 ; r < rows.length ; r++)
   {
       var cell = rows[r].cells[colIndex];
       cell.style.backgroundColor = colors[cell.innerText];
   }
}

Примечание. Вам также необходимо выполнить привязку к событиям сетки, чтобы записи перерисовывались каждый раз, когда страницы пользователя выполняют быстрый поиск или обновляют данные.

person Adi Katz    schedule 29.11.2013