Zend Framework - ZFDATAGer 和 JQGRID:子网格未加载



我正在使用Zend Framework,这就是为什么我决定使用"zfdatagrid deploy jqgrid"而不是直接使用jqgrid。我想让 jqgrid 与子网格。网格显示正常,但是当我单击展开按钮时,我收到通知"正在加载",但没有任何反应。我已经调试了正确调用"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;
<...>

对不起,我的错。但是,我不会删除我的问题,而是会解释我的错误,以防其他人也这样做......

我在声明"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中不起作用的原因。

顺便说一下,你可以看到我在数组中写了数组。这是因为使用一个数组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子网格工作很重要!

相关内容

  • 没有找到相关文章

最新更新