$("#grid").jqGrid({
datatype: 'local',
mtype: 'GET',
loadui: 'block',
altRows: true,
altclass: "myAltRow",
multiselect: false,
recordpos: "right",
pagerpos: "center",
pager: $('#gridt_summarypager'),
pginput: false,
rowNum: 100,
recordtext: "Showing {0} - {1} of {2}",
viewrecords: true,
sortname: 'Project',
sortorder: 'asc',
colNames: ['ProjectID', '<%: Project %>', '<%: ProjectTitle %>' , 'ProjectItemID', '<%: usProjectItem %>', 'Hours To Authorise', 'Hours Not Posted', 'Hours Rejected', 'Last 12 Months'],
colModel: [
{ name: 'ProjectID', index: 'ProjectID', width: 0, hidden: true},
{ name: 'Project', index: 'Project', width: 90, align: 'left', formatter: htmlEncodedString },
{ name: 'ProjectTitle', index: 'ProjectTitle', width: 90, align: 'left', formatter: htmlEncodedString },
{ name: 'ProjectItemID', index: 'ProjectItemID', width: 0, hidden:true },
{ name: 'ProjectItem', index: 'ProjectItem', width: 100, align: 'left', formatter: htmlEncodedString },
{ name: 'HoursToAuthorise', index: 'HoursToAuthorise', width: 125, align: 'right', formatter: timesheetsProjectToAuthoriseQueryFormat },
{ name: 'HoursNotPosted', index: 'HoursNotPosted', width: 125, align: 'right', formatter: timesheetsProjectUnpostedQueryFormat<% if (!(bool)ViewData["PostingEnabled"]) { %>, hidden: true <% } %> },
{ name: 'HoursRejected', index: 'HoursRejected', width: 125, align: 'right', formatter: timesheetsProjectRejectedQueryFormat },
{ name: 'HoursSubmitted12Months', index: 'HoursSubmitted12Months', width: 125, align: 'right', formatter: timesheetsProjectYearQueryFormat }],
imgpath: '../../Scripts/css/ui-lightness/images',
height: 145,
shrinkToFit: false,
hoverrows: false,
loadError: function (xhr, st, err) {
if (xhr.status == 200) {
window.location = '<%= loginPage %>';
}
else if (xhr.status == 500) {
$('#grid_summary_errors').html(xhr.statusText);
}
},
beforeSelectRow: function(rowid, e) {
/* disable row selection */
return false;
},
onSortCol: function (index, columnIndex, sortOrder) {
var col = $("#grid_summarygrid").getGridParam('colNames');
var label = "Ordered by " + col[columnIndex] + " " + sortOrder + "ending";
$("#gridsort").text(label);
}
});
$("#grid").setGridParam({ url: '<%= Url.Action(dataMethod, controllerName)%>?qid=xxx', page: 1, datatype: "json" })
.trigger('reloadGrid');
目前使用jqGrid 4.4.1并且它加载数据很好但是一旦应用了排序,它就会更新排序标签购买网格数据未排序。到底是怎么回事?任何帮助最受赞赏...
答案 0 :(得分:10)
如果您设置url
并将网格的datatype
更改为"json"
,则您的服务器代码负责对分页等数据进行排序。如果你想一次加载网格的所有数据并希望jqGrid为你做排序和分页,那么你应该使用loadonce: true
选项。
我建议您另外在jqGrid中添加gridview: true
选项,将pager: $('#gridt_summarypager')
替换为pager: '#gridt_summarypager'
,删除不存在的参数imgpath
并考虑使用autoencode: true
选项jqGrid,它在所有列中对字符串进行HTML编码,不包含自定义格式化程序。
答案 1 :(得分:2)
{
name: "name",
index:"name",
**sortable: true,**
editable: true,
**sorttype: 'text',**
key: true
},
确保sorttype符合字段数据类型。例如,如果网格字段“name”包含int数字,那么你应该有sorttype:'int'。 同样如Oleg所述,您需要将loadonce设置为true。 pager:“#pager”, gridview:是的, rowNum:5, 的 loadonce:真,强> multiSort:是的, rownumbers:是的, viewrecords:是的, rowList:[5,10,15],
答案 2 :(得分:0)
包括sortable:列中的true以及jqgrid属性。
答案 3 :(得分:0)
修改此参数值对我有用。
loadonce: true