关于jqgrid列排序的问题。
ybhzf 2010-11-03 10:45:44 代码如下:
问题:
例如:在jqgrid有分页的情况下,选择非第一页时(比如第2页的某个列),对列进行排序,jqgrid回传的url的当前页码会变成是第一页而非我当前选择的第二页,如何解决?
$("#selectinfo").show();
var times,url,bt,cl,tp;
times = new Date().getTime();
url="/ServletBase.ashx?";
jQuery("#list2").trigger("reloadGrid");
jQuery("#list2").jqGrid({
url:url,
datatype: "xml",
mtype: 'GET',
width:document.body.clientWidth,
colNames:['片区编号','片区名称', '状态', '备注','操作'],
colModel:[
{name:'areaid',index:'areaid',align:'center'},
{name:'areaname',index:'areaname',align:'center'},
{name:'status',index:'status',align:'center',formatter:'checkbox'},
{name:'note',index:'note',align:'center'},
{name:'operator',index:'operator',align:'center',width:120,sortable:false}
],
rowNum:2,
pager: $('#pager2'),
sortname: '片区编号',
viewrecords: true,
sortname:"areaid",
sortorder: "asc",
pginput:true,
caption:"",
sortable: true,
drag: true,
gridview: true,
rownumbers: true,
rownumWidth: 50,
multiselect: false,
loadComplete: function()
{
var ids = jQuery("#list2").jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++)
{
cl = ids[i];
tp =$("#list2").getCell(cl,3);
bt="<input type='button' value='编辑' id='edit"+cl+"' />";
if (tp.toUpperCase()=="yes".toUpperCase())
{
bt+="<input type='button' value='禁用' id='status"+cl+"'onclick=\"editstatus('"+$("#list2").getCell(cl,1)+"','"+tp+"','"+cl+"')\" />";
}
else
{
bt+="<input type='button' value='启用' id='status"+cl+"' onclick=\"editstatus('"+$("#list2").getCell(cl,1)+"','"+tp+"','"+cl+"')\" />";
}
jQuery("#list2").jqGrid('setRowData',ids[i],{operator:bt});
}
},
onSortCol: function (index, colindex, sortorder)
{
//列排序事件
alert('onSortCol index=>'+index +" colindex=>"+colindex +" sortorder=>"+sortorder);
},
loadError : function(xhr,st,err)
{
alert("Type: "+st+"; Response: "+ xhr.status + " "+xhr.statusText);
//$("#tblMasterMessage").html("Type: "+st+"; Response: "+ xhr.status + " "+xhr.statusText);
}
});
$("#list2").resetSelection();