JQuery - jqGrid:setRowData - 不在参数中拾取变量

时间:2010-06-25 10:12:37

标签: javascript jquery jqgrid

我一直在使用jqGrid并且有点难以理解为什么以下内容无法按预期运行,单行代码只是使用格式化程序来更新行 - 如果我在ID参数中插入一个值,它就可以工作罚款(参见注释行) - 如果我使用变量,它根本不起作用。

我错过了什么吗?

该行的ID是数字。

使用formatter - >

从colModel调用以下内容
        //formatter
    typeHighlight = function(cellvalue,options,rowdata){
        if(cellvalue == "Invoice Required" || cellvalue == "Finished"){

            var rowID = options.rowId; //gets the row id        
            setRow(rowID); //sets the row colour

            return cellvalue;
        }else{
            return cellvalue;
        }
    }

    setRow = function(rowID){
$("#list2").jqGrid('setRowData',rowID,false,'rowDone'); //new api
//$("#list2").setRowData(rowID,false,'rowDone');  //old method
//("#list2").setRowData(1323,false,'rowDone'); //note the row id manually inserted

    }

如上所述,当我手动添加行id时 - 它可以工作,唯一失败的是当我尝试以编程方式添加行id时 - 它偶然在firebug控制台中显示为正确的值。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

看看jqGrid Coloring an entire line in Grid based upon a cells value。如果它无法解决您的问题,请发布更多信息。例如,rowDone CSS类的定义,colModel的定义等。

如果您在问题中包含足够的信息来重现问题,那么问题就可以很快得到解决。