我正在使用Zend Framework,这就是为什么我决定使用"zfdatagrid deploy jqgrid“而不是直接使用jqgrid的原因。我想让jqgrid和subgrid一起使用。网格显示为ok,但当我单击展开按钮时,我会收到“正在加载”的通知,但没有任何反应。我已经调试了"subGridUrl“被正确调用,因为调试器命中函数,我应该从MySQL中为子网格选择数据,并且我试图传递纯json响应(而不是从MySQL中选择),但是仍然没有显示子网格。也许我不明白什么反应必须是什么?我的回答是:
<...>
$responce = new stdClass();
$responce->rows[0]['id']='0';
$responce->rows[0]['cell']=array('0','test1','123','1');
$responce->rows[1]['id']='1';
$responce->rows[1]['cell']=array('1','test2','321','2');
$j = json_encode($responce);
echo $j;
<...>发布于 2013-01-29 03:26:02
抱歉,是我的错。但我不会删除我的问题,而是会解释我的错误,以防其他人也会这样做……
我在声明"subGridModel“时犯了一个错误。而不是使用数组:
$jqGrid->setJqgParams(array(
'caption' => 'test report',
<..>
'subGrid' => true,
'subGridUrl' => $this->view->url(array('controller'=>'report','action'=>'indexstoragebalancesubgrid'),'default', true),
'subgridtype' => 'json',
'loadonce' => false,
// next line where problem fixed
'subGridModel' => array(array("name" => array("ID", "Title", "Code", "Quantity"), "width" => array(10,55,200,80)))
<..>
));我写了字符串:
'subGridModel'=>'[{name : ["ID", "Title", "Code", "Quantity"], width : [10,55,200,80]}]'这就是为什么它不能在javascript中工作的原因。
顺便说一句,你可以看到我在array中写了array。这是因为ZFDataGrid使用一个数组生成这样的javascript:
"subGridModel":{"name":["ID","Title","Code","Quantity"],"width":[10,55,200,80]}而不是这样:
"subGridModel":[{"name":["ID","Title","Code","Quantity"],"width":[10,55,200,80]}]让jqgrid subgrid工作是很重要的!
https://stackoverflow.com/questions/14547155
复制相似问题