【发布时间】:2013-04-18 13:48:21
【问题描述】:
在编辑一行(模式内联)后,我尝试根据新值更改单元格的一些 css 属性。
通常:编辑一行后,该行的所有单元格都包含字母“D”,我使用新的 css 属性更新单元格:背景颜色:灰色(使用 setCell 方法)
为此,我使用内联编辑:
grid.jqGrid('navGrid',"#pager",{edit:false, add:false, del:false});
grid.jqGrid('inlineNav',"#pager",{edit:true, add:false, del:false, editParams: myEditParam});
为了在编辑后更改背景,我使用方法 aftersavefunc
myEditParam :
...
aftersavefunc: function(rowId, dataFromServer)
{
var rowData = $("#list").jqGrid("getRowData", rowId);
for (var key in rowData)
{
if (rowData[key] == "D")
{
key++;
$("#list").jqGrid("setCell",rowId, key, "", {"background-color": "#ECECEC"} );
}
}
},
...
此代码有效,但不幸的是,当我对网格的一列进行排序时,setCell 方法没有被保留! (单元格失去了它的背景颜色:灰色)
是否存在更好的方法在编辑新值后更改背景?
感谢您的帮助;)
【问题讨论】:
-
您只是希望单元格值在编辑后具有 CSS 样式,还是任何包含具有特定值的单元格的行都应该具有这种不同的样式?
-
@Mark : 实际上所有包含具有特定值的单元格都应该具有这种不同的样式。
标签: jqgrid