【发布时间】:2013-06-26 13:21:40
【问题描述】:
您好,请帮助我尝试显示一个以 symfony 2 作为后端的 Extjs 4.2 网格面板。
我的 config.yml
网格:
pattern: /grid
defaults: { _controller:ExtAssExampleBundle:displaygrid:display}
requirements: { _format: (json), _method: GET }
我的控制器
类 displaygridController 扩展控制器
{
public function displayAction()
{
$repository = $em->getRepository('ExtAssexampdbBundle:movies');
$items = $repository->show();
$response = json_encode($items);
return $this->render('ExtAssExampleBundle:Default:grid.html.php',array('response'=>$response));
}
}
grid.html.php
Ext.onReady(函数()
{ Ext.define('电影', {
extend: 'Ext.data.Model',
fields: [
{name:'id', type: 'int'},
{name:'title',type: 'string'},
{name:'director',type: 'string'},
{name:'released',type: 'string'},
{name:'genre', type: 'int'},
{name:'tagline',type:'string'}
] } );
var mystore = Ext.create('Ext.data.JsonStore',
{
model: 'movie',
autoSync: true,
autoLoad: true,
data:response,
proxy: {
type:'ajax',
url:' ',
//这里需要传递什么
reader: {
type:'json',
root: 'movies'
},
writer:{
encode: true,
writeAllFields: true,
type: 'json',
root: 'data'
}
},
});//store completed
var grid = Ext.create('Ext.grid.Panel',
{
style: 'margin-top: 1%; margin-left: 24%',
store: mystore,
id:'grid',
width: 700,
height: 300,
title: 'Movie Details',
collapsible: true,
closable:true,
maximizable: true,
frame:true,
dirty:false,
draggable: true,
stripedRows: true,
columns:
[
{header: 'MovieName', width: 100, sortable: true, dataIndex:response[0].title,editor:{xtype: 'textfield',allowBlank:false} },
{header: 'Director Name', width: 100, sortable: true, dataIndex: 'director',editor: 'textfield',allowBlank:false},
{header: 'Released Date', width: 150, sortable: true, dataIndex: 'released',editor: 'datefield',renderer: Ext.util.Format.dateRenderer('Y-m-d')},
{header:'Genre', width:150, sortable:true, dataIndex:'genre',editor:'numberfield',},
{标题:'标语',宽度:200,可排序:true,dataIndex:'标语',编辑器:'textfield'},
],
});
mystore.load();
grid.render('table')
});
问题是我如何访问 symfony2 控制器发送的 $response 并在 Extjs 4.2 网格中显示值。请帮助解决这个问题
【问题讨论】:
-
请修复您问题中的代码 :) 您使用不同的 url 设置控制器路由两次的任何特殊原因 - 一次使用注释,一次使用 yml 配置?
-
请现在检查一下,我已经编辑了我的代码
-
我尝试了这些注释,因为我是否可以传递这些注释值在 extjs 的 url 中给出,但它不起作用,所以我删除了它,请帮助解决这个问题
-
我已经解决了我的问题,感谢您的建议