2012-04-05 3 views
1

Ich bin neu zu ExtJS und habe eine Beispiel-App mit Ext.application mit Ext.direct geschrieben. Ich baute mein Modell wie untenExt.application und Ext.direct: Daten nicht angezeigt

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

gezeigt und ich bin mit Gitter-Panel wie unten

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); 
    } 
}); 

endlich meine index.js wie diese

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() 
      }); 
     } 
    }); 

Die Daten sehen gezeigt I erhalten, wenn Ich rufe HelloWorld.getGridDetails von index.js ist wie unten gezeigt

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

Das Problem ist, dass ich nicht in der Lage bin, Daten in das Raster zu laden, d. H., Die direkte Methode HelloWorld.getGridDetails wird überhaupt nicht aufgerufen, wenn das Raster angezeigt wird. Fehle ich etwas? Kann jemand von euch bitte helfen?

Dank
Kumar

Antwort

1

Ich fand heraus, tatsächlich die Lösung. Obwohl es jetzt keinen Sinn macht, besser spät als nie. Ich brauche die folgenden in der 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> 

Nach der Zugabe von

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

vor index.js zu ändern. Es fing an zu arbeiten.

+0

Ich frage mich, ob ich Ihre Unterstützung mit unserer Implementierung von Ext.Direct mit ExtJS 4 irgendwann in dieser Woche nutzen kann? Wären Sie bereit, schnell anzurufen? Ich habe viel über das Thema geforscht und versuche gerade, das Upgrade durchzuführen. Ich habe nur mit der API-Deskriptordatei und diesem Ext.app.REMOTING_API-Provider zu kämpfen. Ich verwende seit über einem Jahr einen benutzerdefinierten AJAX-Proxy, der jedoch während unseres Upgrades von 4.1.0 auf 4.2.1 unterbrochen wurde. – MacGyver

+0

schickte dir eine Email .. wann immer du Zeit hast ist gut für mich – MacGyver

Verwandte Themen