1

私はExtJSを初めて使用し、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"

問題は、グリッドにデータをロードできないことです。つまり、グリッドが表示されているときに直接メソッドHelloWorld.getGridDetailsがまったく呼び出されません。私は何かが足りないのですか?誰か助けてもらえますか?

ありがとう
クマール

4

1 に答える 1

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 の前。それは働き始めました。

于 2012-05-18T05:56:53.357 に答える