1

コンボボックスへのデータの追加に問題があります(これが私のコードです:

{
    xtype: 'combo',
    name: 'accounttype',
    triggerAction: 'all',
    fieldLabel: '??? ?????',
    labelWidth: 125,
    displayField: 'name_y',
    valueField: 'nzp_y',
    width: 280,
    emptyText: '??? ?????',
    listeners: {
        afterrender: function (item) {
            Ext.Ajax.request({
                url: 'account/combodata',
                method: 'POST',
                success: function (objServerResponse) {
                    var jsonResp = Ext.decode(objServerResponse.responseText);


                if (jsonResp.success == true) {

                    var mystore = new Ext.data.JsonStore({
                        fields: ['nzp_y', 'name_y'],
                        data: [{ nzp_y: 0, name_y: ' '}]
                    });

                    var myArray = new Array();

                    for (var i = 0; i < jsonResp.combolist.length; i++) 
                    {
                        if (jsonResp.combolist[i].nzp_res == 9999) 
                        {
                            myArray['nzp_y'] = jsonResp.combolist[i].nzp_y;
                            myArray['name_y'] = jsonResp.combolist[i].name_y;
                            //???
                        }
                    }
                }
            },
            failure: function (objServerResponse) {
                Ext.Msg.alert('Error', objServerResponse.responseText);
            }
        });
    }
},
store: mystore

}

ストアをコンボに追加するにはどうすればよいですか? ありがとう。

4

1 に答える 1

1

ExtJS4.xを使用していると仮定します

Model-Proxy-Storeを使用することをお勧めします

 // Set up a model to use in your Store
 Ext.define('User', {
     extend: 'Ext.data.Model',
     fields: [
         {name: 'nzp_y', type: 'int'},
         {name: 'name_y',  type: 'string'}
     ]
 });

...他のコード

{
    xtype: 'combo',
    name: 'accounttype',
    triggerAction: 'all',
    fieldLabel: '??? ?????',
    labelWidth: 125,
    displayField: 'name_y',
    valueField: 'nzp_y',
    width: 280,
    store: Ext.create('Ext.data.Store', {
         model: 'User',
         proxy: {
             type: 'ajax',
             url: '/account/combodata',
             reader: {
                 type: 'json',
                 root: 'data' // you may need to modify this
             }
         },
         autoLoad: true
     }),
    emptyText: '??? ?????'
}

コメントに答えるために編集してください:

あなたは間違いなく次の設定を見る必要があります(下に追加できますroot: 'data'):

idProperty     : 'id'  // You seem not to have a id property based on the given values
totalProperty  : 'total' // You don't have this one at all

最初にこれらを確認し、結果を投稿してください。与えられたエラーについて、私はそう考えています。これを見たことがない。

于 2012-09-06T06:16:42.227 に答える