2012-01-21 85 views
0

我有一個與子網格jqgrid。jqgrid:如何格式化主/細網格?

我正在嘗試將不同的顏色應用於主柵格和細節柵格。我有兩條規則:第一條是交替奇數和雙色,另一條是根據特定字段的值將特定的CSS應用於行。

兩個主&細節網格,包含以下gridComplete函數,其中明顯的childNodes指數變化的原因的表包含不同的字段:

gridComplete: function() { 
      var _rows = $(".jqgrow"); 
      for (var i = 0; i < _rows.length; i++) { 
       _rows[i].attributes["class"].value += " " + _rows[i].childNodes[4].textContent; 
       _rows[i].attributes["class"].value += " " + _rows[i].childNodes[4].innerText; 
      } 
      applyZebra("jqTicketgrid"); 
     } 

applyZebra功能提供交替奇/對顏色和已經在另一測試不包含子網格的網格。 爲了記錄,我在本論壇的其他解決問題中找到了上述解決方案,並且都使用「簡單」jqgrids(而非主/細節)。

問題 只有當我點擊展開詳細信息行的主表格的格式,而細節亞格從來沒有備用的顏色,無論是應用基於單元格內容格式...

我哪裏錯了? Pheraps我必須攔截另一個不是gridComplete的事件?否則,與網格&子網格是不可能使用_rows [x] & childNodes [y]屬性?

如果需要,請諮詢澄清,thx。

在此先感謝!

回答

0

我想在你的代碼中的錯誤是,你使用$(".jqgrow")代替$(".jqgrow", this)其中thisgridComplete內將成爲電網或subgid(我假設您使用grid as subgrid)的<table>的任何DOM元素。

此外,我不會建議你使用你當前的代碼。使用cellattr更有效和簡單。 rawObject參數允許您訪問當前行的所有其他單元格。在the answer中你會找到一個實現的例子。

+0

謝謝@Oleg!我試圖用$(「。jqgrow」,this)修改,但它仍然不起作用。 關於cellattr,我試圖讓它工作,我同意你的有趣的考慮。但我無法得到它的工作。 請問你能舉個例子嗎? 我甚至試圖把這個代碼放到網格定義中,但它不起作用:cellattr:function(rowId,cellValue,rawObject,cm,rdata){ return'class =「A」'; } 再次感謝! – Larry

+0

我有一個名爲A的課程,我用它來標記行的嚴重性... – Larry

+0

好的。我只是想爲它工作**只是爲了單元格**:我把cellattr放到colmodel中,只是爲了測試:'cellattr:function(rowId,tv,rawObject,cm,rdata){return'class =「A」' ; }'它的工作原理! **請問我可以向全行添加班級嗎?** 非常感謝@Oleg! – Larry