1

我从中得到了想法为网格视图着色,但他选择了本地帐户。所以请让我知道有没有办法在在线帐户或试用版上完成上述工作。

4

3 回答 3

1

我为此找到了更好的解决方案:https ://crmgridplus.codeplex.com

于 2014-12-16T02:36:59.687 回答
0

您绝对可以使用 javascript 来做到这一点,但微软不支持操作 DOM

ps:线上和onpremis都可以

于 2013-11-25T23:01:39.150 回答
0

在网上找到了这个。看起来简短而简单,但似乎效率极低我敢打赌,如果网格每页包含 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];
   }
}

注意:您还需要绑定到网格事件以在每次用户页面时重新绘制记录,进行快速搜索或刷新数据

于 2013-11-29T23:42:32.973 回答