2012-04-05 2 views
1

Я новичок в ExtJS и написал пример приложения, используя Ext.application с Ext.direct. Я настроил свою модель, как показано нижеExt.application и Ext.direct: данные не отображаются

Ext.define('AM.model.UserModel', { 
    extend: 'Ext.data.Model', 
    alias : 'widget.userModel', 
    fields: ['SlNo','name'] 
    proxy: { 
     type: 'direct', 
     directfn: HelloWorld.getGridDetails 
    } 
}); 

и я с помощью сетки панели, как показано ниже

Ext.define('AM.view.user.List' ,{ 
    extend: 'Ext.grid.Panel', 
    alias : 'widget.userlist',  
    title : 'Users',   
    initComponent: function() { 
     this.store = { 
      model:'AM.model.UserModel', 
      autoload:true, 
     }; 
     this.columns = [ 
         { 
          header: 'SlNo', 
          dataIndex: 'SlNo', 
          width:100, 
          disabled:false 
         }, 
         { 
          header: 'Name', 
          dataIndex: 'name', 
          width:150 
         } 
     ]; 
     this.callParent(arguments); 
    } 
}); 

наконец мой index.js выглядит следующим образом

Ext.require('Ext.direct.*', function() { 
    Ext.direct.Manager.addProvider(Ext.app.REMOTING_API); 
    }); 
    Ext.require([ 'AM.view.user.List','AM.model.UserModel']); 
    Ext.application({ 
     name: 'AM', 
     appFolder:'myApp', 
     launch: function() { 
      Ext.Direct.addProvider(Ext.app.DirectAPI);         
      Ext.create('Ext.container.Viewport', { 
       items: { 
        xtype: 'userlist', 
        width: 552 
       }, 
       renderTo: Ext.getBody() 
      }); 
     } 
    }); 

Данные, я получаю, когда Я звоню HelloWorld.getGridDetails от index.js, как показано ниже

action: "HelloWorld", 
    method: "getGridDetails", 
    result: [ 
    {slNo:2, name:"patton"}, 
    {slNo:3, name:"Omar N Bradely"}, 
    {slNo:1, name:"Sam Manekshaw"} 
    ], 
    tid: 1, 
    type: "rpc" 

Проблема в том, что я не могу загрузить данные в сетку i.e. Прямой метод HelloWorld.getGridDetails совсем не вызывается, когда отображается сетка. Я что-то упускаю? Может кто-нибудь из вас, пожалуйста, помогите?

Благодаря
Кумар

ответ

1

я на самом деле понял, решение для этого. Хотя сейчас это не имеет смысла, лучше поздно, чем никогда. Мне нужно изменить следующее в index.html

<script type="text/javascript" src="Api.js"></script> 
**<script type="text/javascript">Ext.direct.Manager.addProvider(Ext.app.REMOTING_API);</script>** 
<script type="text/javascript" src="index.js"></script> 

После добавления

<script type="text/javascript">Ext.direct.Manager.addProvider(Ext.app.REMOTING_API);</script> 

перед тем index.js. Он начал работать.

+0

Мне интересно, смогу ли я использовать вашу помощь в реализации Ext.Direct с ExtJS 4 на этой неделе? Вы бы хотели быстро позвонить? Я провел немало исследований по этому вопросу и сейчас пытаюсь обновить его. Я просто борюсь с файлом дескриптора API и этим поставщиком Ext.app.REMOTING_API. Я использую пользовательский прокси AJAX более года, но он сломался во время нашего обновления с 4.1.0 до 4.2.1. – MacGyver

+0

отправил вам электронное письмо .. всякий раз, когда у вас есть время для меня хорошо – MacGyver

Смежные вопросы