2 回答

TA貢獻1943條經(jīng)驗 獲得超7個贊
您犯了使用自定義格式化程序的典型錯誤。重要的是要理解,如果將網(wǎng)格包含創(chuàng)建為字符串,則jqGrid的性能最佳。在這種情況下,可以gridview:true為您提供性能。任何自定義格式化程序都應(yīng)在該gridview:true模式下工作,因此自定義格式化程序沒有 DOM元素作為參數(shù),因此您不能使用類似$(el).addClass("Fail");
在一些舊的答案中(請參見此處和此處),您可以找到如何解決問題的方法,但是我建議您使用jqGrid 4.0.0:cellattroption的新功能。出于不確定的目的:自定義格式化程序的目的不是添加一些HTML屬性,例如class。例如,應(yīng)將其用于將某些通用日期格式(如yyyy-mm-dd)轉(zhuǎn)換為本地化格式(如dd.mm.yyyy(德語樣式))。如果您不想更改列的格式,而只想添加一些屬性title(如(用于工具提示),class(如您的情況),style等等),cellattr則需要新的選項。
您可以定義
cellattr: function(rowId, cellValue, rawObject, cm, rdata) {
if (cellValue==0) {
return ' class="Fail"';
}
}
在此處查看一個小演示:
在演示中,我將calsses ui-state-error和添加ui-state-error-text到設(shè)置了復(fù)選框的'Client'column的所有單元'Closed'格中。

TA貢獻1815條經(jīng)驗 獲得超6個贊
有許多有趣的新選項,文檔中尚未描述。例如,列模板是在jqGrid 3.8.2中引入的,但在文檔中仍未進行描述(請參見此處)。如果您在trirand論壇中搜索,cellattr則會找到一些信息。
- 2 回答
- 0 關(guān)注
- 600 瀏覽
添加回答
舉報