首先,我是菜鸟......
我有一个类似于这个例子的php数组:
`array(
(int) 0 => array(
'Car' => array(
'id' => '3',
'field1' => 'blablabla',
'field2' => 'blabla'
)
),
(int) 1 => array(
'Car' => array(
'id' => '9',
'field1' => 'blablabla',
'field2' => 'blabla'
)
),
(int) 2 => array(
'Car' => array(
'id' => '12',
'field1' => 'blablabla',
'field2' => 'blabla'
)
)
)`
这个数组可以包含很多行(5000+),它来自cakephp查询。
我想在jqgrid中显示它。
我试过这种方式:
jquery的:
$('#jqList').jqGrid({
datatype: 'local',
colNames:['Field 1', 'Field 2'],
colModel:[
{name:'field1',index:'field1', width:200},
{name:'field1',index:'field1', width:300}
],
pager: '#jqPager',
rowNum: 20,
rowList: [10, 20, 30, 50],
height: '100%',
});
var carsJson = <?php echo json_encode($cars) ?>;
for (data in carsJson) {
jQuery('#jqList').addRowData(carsJson[data]['Enfant']['id'], carsJson[data]['Car']);
}
我可以显示我的行,但是我的页面会冻结一些secondes并且我的jqgrid中没有任何页面:(
我很乐意收集任何有用的提示。
非常感谢
答案 0 :(得分:1)
使用数据类型"json"
代替"local"
和url
来传递数据。这样,网格将仅加载在UI中显示所需的行数,并且比在开头加载所有5000行快得多。
url:'server.php?q=2',
datatype: "json",
在这里查看示例: http://trirand.com/blog/jqgrid/jqgrid.html正在加载数据/ JSON数据