当前位置:编程学习 > 网站相关 >>

sencha 如何给tabpanel内的field传递值

用tabpanel的童鞋可能发现 用setrecord()后tabpanel里面的textfield无法有值,而非tabpanel的结构却没问题
tabpanel->panel->textfield 这种架构死活读不出来值
 
尝试了好几种方法
包括
1. 重构applyItems方法,不成功
applyItems:function (items, collection) {
        var i = 0,
            iNum = items.length,
            record = this.getRecord(),
            data = this.getData();
        for (; i < iNum; i++) {
            items[i].data = data;
        }
        return this.callParent([items, collection]);
    }
 
2. 读取所有items然后自己setData() setRecord()
不成功
3. 得到所有二级panel,然后setData() setRecord() 也不成功
 
哥们弄了一晚上
最后想到了
4 , 直接读取所有fields然后赋值
开始居然自己写了一个递归函数来getItems()所有的值,不成功
后来发现有query()函数,救星
实现代码如下www.zzzyk.com
var reqFields = this.query('field[xtype=textfield]');
            console.dir(reqFields);
            var i = 0, ln = reqFields.length,field;
            for (; i < ln; i++) {
                field = record.get( reqFields[i].getItemId());
                 reqFields[i].setValue(field);
            }
 
补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,