我想在 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,或者只是如何使其工作?
提前致谢。