【问题标题】:ExtJS Set simple array to storeExtJS 设置简单的数组来存储
【发布时间】:2017-06-27 13:34:42
【问题描述】:

我有一个 codeigniter 服务返回:
{data: ["CEDULA-1723822761.pdf", "CROQUIS-1723822761.pdf", "PENSION-1723822761.pdf"], success: "真的”}
在我的 ExtJS 应用程序上,我试图这样处理它:

var responseData = opts.result.data;
    var documentos = Ext.ComponentQuery.query("#docsTest")[0];
    documentos.setValue(responseData); //This is just to check that the data is correct
    var store = new Ext.data.SimpleStore({
      fields:[
        {name: 'name'}//I'm pretty sure my problem is here
      ]
    });

    store.loadData(responseData);
    console.log('store:' + store);

    var grid = Ext.ComponentQuery.query("#FldDocumentos")[0];

    grid.setStore(store);

我想在网格中的一行中显示服务给出的三个结果中的每一个,但由于该数组未指定字段名称,因此存储仅创建三个空对象。如何正确存储存储中的每个数组字符串?

【问题讨论】:

    标签: codeigniter extjs


    【解决方案1】:

    创建一个数组并使用名称属性存储数据。所以当你把这个添加到 store 时,grid 就可以正确显示数据了。

    var responseData = opts.result.data;
    var documentos = Ext.ComponentQuery.query("#docsTest")[0];
    documentos.setValue(responseData); //This is just to check that the data is correct
    var store = new Ext.data.SimpleStore({
      fields:[
        {name: 'name'}//I'm pretty sure my problem is here
      ]
    });
    
    var nameList = [];
    for(var i = 0 ; i < responseData.length ; i++){
        nameList.push({ name = responseData[i]});
    }
    
    store.loadData(nameList);
    console.log('store:' + store);
    
    var grid = Ext.ComponentQuery.query("#FldDocumentos")[0];
    
    grid.setStore(store);
    

    【讨论】:

    • 您,先生,太棒了!它与一些小的调整完美配合! var nameList = [] 而不是 {} 和 name : responseData[i] 而不是 name = responseData[i]
    猜你喜欢
    • 2015-03-21
    • 2014-02-10
    • 1970-01-01
    • 2010-09-17
    • 2015-04-16
    • 2011-03-17
    • 2014-04-14
    • 2011-04-16
    • 1970-01-01
    相关资源
    最近更新 更多