2013-11-21 3 views
1

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

ответ

0

Вы можете определенно, что с помощью JavaScript, но манипулируя DOM не поддерживается майкрософт

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

0

Found this on the web. Выглядит коротко и просто, но также кажется ужасно неэффективным Уверен, что пользователь чувствует боль, если сетка содержит 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]; 
    } 
} 

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

Смежные вопросы