【发布时间】:2014-03-05 19:56:35
【问题描述】:
我的 JqGrid 使用 JSON 从服务器接收数据,我使用这些参数:
_self.GridParams = { rows: 7, page: 1, sidx: '', sord: '' }
之后,将数据放入变量data中:
Object
colModel: Array[194]
colNames: Array[194]
groupHeaders: Array[48]
page: 1
records: 17
rows: Array[4]
total: 3
我只收到包含 7 个元素的第一页,但寻呼机无法工作并显示“查看 1 - 7 个,共 7 个”。
我用这段代码创建了我的网格:
function _CreateGrid(queryId) {
var gridWidth = ...;
//Load data with JSON
Utilities.JsonGet("/GetList?QueryId=" + queryId + "&ZoomLevel=" + _self.ZoomLevel + "&Start=" + _self.StartDate.toISOString().slice(0, 10) + "&End=" + _self.EndDate.toISOString().slice(0, 10), _self.GridParams, function (data) {
console.log(data);
//Dymamicly create column model
for (var i = 0; i < data.colModel.length; i++) {
var row = data.colModel[i];
row.cellattr = row.isSchedulerColumn ? _self.SchedulerCellAttr : _self.NonSchedulerCellAttr;
row.formatter = row.isSchedulerColumn ? _self.SchedulerCellFormatter : _self.NonSchedulerCellFormatter;
data.colModel[i] = row;
//Set width
if (row.isSchedulerColumn) {
var zoomColWidth = 0;
switch (_self.ZoomLevel) {
case 0: zoomColWidth = _self.HourColumnWidth; break;
case 1: zoomColWidth = _self.QuarterColumnWidth; break;
case 2: zoomColWidth = _self.TenColumnWidth; break;
}
if (zoomColWidth > 5) {
row.width = (zoomColWidth - 5);
_self.SchedulerCellWidth = 0;
}
}
if (row.isSchedulerColumn && _self.SchedulerCellWidth === 0) {
_self.SchedulerCellWidth = row.width + 5; //Account for the loss of padding/borders
}
}
// Clean up previous version of the grid.
$("#" + _self.SchedulerGridBaseId + "-container").remove();
// Create the grid's container.
Ui.CreateJQGridContainer(_schedulerGridWrapper, _self.SchedulerGridBaseId);
_$jqGrid = jQuery("#" + _self.SchedulerGridBaseId + "-table").jqGrid({
datatype: "jsonstring",
colNames: data.colNames,
colModel: data.colModel,
datastr: data,
height: 280,
width: gridWidth,
shrinkToFit: false,
jsonReader: {
repeatitems: false
},
viewrecords: true,
gridview: true,
hoverrows: false,
pager: "#" + _self.SchedulerGridBaseId + "-pager",
toolbar: [true, "top"],
onPaging: _OnGridPaging,
beforeSelectRow: function () {
return false;
}
});
_$jqGrid.jqGrid('setGroupHeaders', {
useColSpanStyle: false,
groupHeaders: data.groupHeaders
});
_$jqGrid.jqGrid('setFrozenColumns');
//Set row height
var ids = _$jqGrid.getDataIDs();
for (i = 0; i < ids.length; i++) {
_$jqGrid.setRowData(ids[i], false, { height: _self.RowHeight });
}
}, function () { }, true);
}
【问题讨论】:
标签: javascript jquery json jqgrid