首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Ext js在网格中显示数据的问题

用Ext js在网格中显示数据的问题
EN

Stack Overflow用户
提问于 2011-09-01 19:33:31
回答 3查看 506关注 0票数 0

我使用extjs网格视图创建cakephp。

为此,我创建了

1)一个movie_controller控制器文件,我在其中写道

代码语言:javascript
复制
function index() {
        $this->recursive = 0;                                      
        $this->set('movies', $this->Movie->find("all"));

    }

2)在view/movies/index.ctp中创建index.ctp文件

代码语言:javascript
复制
 <?php echo  '{"rows":'.$javascript->Object($movies).'}'; ?>

3)然后在js文件中调用这个index.ctp文件

未在网格中获取数据。在firebug中调试时,它会显示此数组

{“行”:{“电影”:{“id”:“1”,"date_":"1970-01-01","notes":"Note13455-","asset_id":"1","maint_picture":"",“maint_condition1”:“差”,"maint_condition2":“新”,“maint_condition3”:“优秀”,“maint_condition4”:“好”}},{“电影”:{“id”:“2”,"date_":"2009-03-20","notes":"Note2","asset_id":"1","maint_picture":null,“maint_condition1”:“优秀”,“maint_condition2”:“优秀”,“maint_condition3”:“新”,“maint_condition4”:“差”}}

==>In此json文件如何删除显示在开始所有录制中的电影数组。

EN

回答 3

Stack Overflow用户

发布于 2011-09-02 06:15:27

代码语言:javascript
复制
<?php echo  '{"rows":'.$javascript->Object($movies['Movie']).'}'; ?>
票数 0
EN

Stack Overflow用户

发布于 2011-09-02 18:14:03

如果要移除第一个从数组中移除的数组,我们必须在网格中逐个数组打印。完成了。

代码语言:javascript
复制
<?php
$output='{"rows":[';
$total=$ta=count($movies);
for($i=0;$i<$total;$i++)
{
$t=$i+1;
  if($t==$total)
  {
    $output.=$javascript->Object($movies[$i]['Movie']);
  }
  else
  {
    $output.=$javascript->Object($movies[$i]['Movie']).',';
  }
}
$output.=']}';

echo $output;
 ?>  
票数 0
EN

Stack Overflow用户

发布于 2011-09-02 22:32:16

你越来越近了。尝试在控制器中使用$movies变量完成所有工作(请记住MVC模式!不要打破它!)。

您可以通过执行以下操作来实现:

代码语言:javascript
复制
// in your controller
$data = null;
$movies = $this->Movie->find('all');

foreach ($movies as $key => $value) {
    foreach ($value['Movie'] as $k => $v {
        $data['rows'][$key][$k] = $v;
    }
}

然后将其转换为json对象。

基本上,我认为它没有加载数据,因为您的json看起来像这样

{“行”:{“电影”:{“id”:“1”,"date_":"1970-01-01","notes":"Note13455-","asset_id":"1","maint_picture":"",“maint_condition1”:“差”,"maint_condition2":“新”,“maint_condition3”:“优秀”,“maint_condition4”:“好”}},{“电影”:{“id”:“2”,"date_":"2009-03-20","notes":"Note2","asset_id":"1","maint_picture":null,“maint_condition1”:“优秀”,“maint_condition2”:“优秀”,“maint_condition3”:“新”,“maint_condition4”:“差”}}

它应该看起来像这样

{“行”:{ "id":"1","date_":"1970-01-01","notes":"Note13455-","asset_id":"1","maint_picture":"",“maint_condition1”:“差”,"maint_condition2":“新”,“maint_condition3”:“优秀”,“maint_condition4”:“好”},{ "id":"2","date_":"2009-03-20","notes":"Note2","asset_id":"1","maint_picture":null,“maint_condition1”:“优秀”,“maint_condition2”:“优秀”,“maint_condition3”:“新”,“maint_condition4”:“差”}}

您希望删除"Movies": {..object..}部件,因此它只是一个对象数组,如{id: 1},{id: 2},{id: 3}等。

确保在JsonReader中将行设置为根目录!!

代码语言:javascript
复制
var reader = new Ext.data.JsonReader({
    root: 'rows'
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7269684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档