页面更改jqgrid后的setLabel

时间:2012-09-13 12:21:34

标签: jquery jqgrid

我想在gridComplete之后更改列名,所以我调用gridComplete块:

setTimeout(function(){
            formatCols()
        },"200");

formatCols函数是一个ajax函数:

function formatCols(){
var ids = new Array();
$("tr.jqgrow").each(function(){
    ids.push($(this).attr("id"));
})
$.ajax({
    type: "post",
    dataType: "json",
    data:{
        podszkola: $('#szkola_select').val(),
        ids: ids
    },
    url: location.protocol+"//"+location.host+"/sekretariat/ksiegaewidencji/getyears",
    success: function(data){
        var columnNames = $("#list").jqGrid('getGridParam','colModel');
        for(var i =1; i<=13 ; i++){
            $("#list").setLabel(columnNames[i+1].name.toString(), data.response[i] ,"",{});
        }

        if(firstGrid){
            jQuery("#list").jqGrid('setGroupHeaders', {
                useColSpanStyle: true, 
                groupHeaders:[
                {
                    startColumnName: 'Nr.', 
                    numberOfColumns: 2, 
                    titleText: '<em>Dane Osobowe</em>'
                },
                {
                    startColumnName: 'r1', 
                    numberOfColumns: 13, 
                    titleText: '<em>Spełnienie obowiązku szkolnego w kolejnych latach</em>'
                }
                ]
            });
        }
        firstGrid = false;
        updateCellWidth("list")
        $("#mainLoadingScreen").hide();
    }
})

}

这些功能的主要部分是:

for(var i =1; i<=13 ; i++){
            $("#list").setLabel(columnNames[i+1].name.toString(), data.response[i] ,"",{});
        }

它工作正常,但只有一次!当我尝试更改网格表功能页面时,更改错误列的名称。我认为问题是setLabel()函数的第一个参数,但我不知道我应该传递什么才能使它正常工作。如何获取当前(更改后)colNames,或者只是如何使其工作?

提前致谢。

0 个答案:

没有答案