extjs form表单绑定数据
 Ext.define('taskList', {
            extend: 'Ext.data.Model',
            fields: [
                     { name: 'TASK_ID', type: 'string' },
                     { name: 'ITEM', type: 'string' },
                     { name: 'INFO', type: 'string' },
                     { name: 'MARK', type: 'int' },
                     { name: 'EMPID', type: 'string' },
                     { name: 'ACCESSORY', type: 'string' },
                     { name: 'CLAIM_TIME', type: 'string' }
            ]
        });

            var storeList = Ext.create('Ext.data.Store', {              
            model:'taskList',
            proxy: {             
                type: 'ajax',
                url: 'taskList.action?task_id='+task_id, 
                reader: {
                    type: 'json',
                    root: 'taskList'                  
                }
           }            
        });

            storeList.load();
            myFormPanel.getForm().loadRecord(storeList);

这句话有什么问题?为什么文本框就是不显示数据?store里已经有数据了。

 Ext.define('taskList', {
            extend: 'Ext.data.Model',
            fields: [
                     { name: 'TASK_ID', type: 'string' },
                     { name: 'ITEM', type: 'string' },
                     { name: 'INFO', type: 'string' },
                     { name: 'MARK', type: 'int' },
                     { name: 'EMPID', type: 'string' },
                     { name: 'ACCESSORY', type: 'string' },
                     { name: 'CLAIM_TIME', type: 'string' }
            ]
        });

     var userRecord = Ext.create('taskList', {
            ITEM: 'Qi Fei',
            INFO: 'youring2@gmail.com',
             MARK:1,
             EMPID:'Qi Fei',
             ACCESSORY:'Qi Fei',
             CLAIM_TIME:'Qi Fei'

        });

            myFormPanel.getForm().loadRecord(userRecord);

我换成静态的数据就能加载上去

2个回答

loadRecord参数时Ext.data.Model的实力,不是store对象,而且store是异步加载的,数据没返回都已经执行myFormPanel.getForm().loadRecord(userRecord);这句了,

放到store的load事件里面,而且是取里面的记录

             var storeList = Ext.create('Ext.data.Store', { 
                        load:function(){
                        alert(storeList.getCount())//输出有多少条数据
                        myFormPanel.getForm().loadRecord(storeList.getAt((0));//加载第一条数据
                        },
            model:'taskList',
            proxy: {             
                type: 'ajax',
                url: 'taskList.action?task_id='+task_id, 
                reader: {
                    type: 'json',
                    root: 'taskList'                  
                }
           }            
        });

http://ask.csdn.net/questions/173921,这个里面不是说得很清楚了。。加载远程数据用load就行。。不需要建立个store来加载。

解决能记得采纳。。

 storeList.on("load", function() {  
         myFormPanel.getForm().loadRecord(storeList.getAt(0));               
     });

确实Form加载完成时没用上store里的数据。把它放在Load里就行了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐