在网格 Extjs 6 中放置参考模型的信息

奥斯卡

我尝试在网格中显示模型信息,但它不显示参考模型的信息。

我的模型人

Ext.define('Myapp.model.Person',{
  extend: 'Ext.data.Model',
  idPropery: 'dni',
  fields: [
    "dni",
    {name:'age', type: 'int'},
    {name:'names', type: 'string'}
  ]
});

我的劳模:

Ext.define('Myapp.model.Worker',{
  extend: 'Ext.data.Model',
  idPropery: 'idWorker',
  fields: [
    "idWorker",
    {name:'salary', type: 'int'},
    {name: 'personId', reference: 'Person', unique:true}
  ]
});

我的店铺:

Ext.define('Myapp.store.Worker',{
  extend: 'Ext.data.Store',
  alias: 'sworker',

    model: 'Myapp.model.Worker',

    autoLoad: true,
    proxy: {

        type: 'ajax',

        api: {
            read: 'allWorkers'
        },

        reader: {
            type: 'json',
            rootProperty: 'data',
            totalProperty: 'total'
        }

    }
});

我的json格式:

data: [
    {"idWorker":'COD0001',"salary":2700,"person":{"dni":"57547854", "age": 22, "names": "Diana"}},
    {"idWorker":'COD0002',"salary":1700,"person":{"dni":"00257854", "age": 27, "names": "Carlo"},
    {"idWorker":'COD0003',"salary":5000,"person":{"dni":"54787854", "age": 18, "names": "Pedro"},
    {"idWorker":'COD0004',"salary":1800,"person":{"dni":"57547854", "age": 30, "names": "Ramon"}
    ],
total: 4

我的网格:

Ext.define('Myapp.view.worker.WorkerList', {
    extend: 'Ext.grid.Panel',
    xtype: 'workerList',

    store: {
        type: 'sworker'
    },

    columns: [
       {text: 'My code', dataIndex: 'idWorker'},
       {text: 'Names ', dataIndex: 'names'},
       {text: 'Age ', dataIndex: 'age'},
       {text: 'Salary ', dataIndex: 'salary'}
    ],

    dockedItems: [{
            xtype: 'pagingtoolbar',
            dock: 'bottom',
            displayInfo: true
        }]
});

上面的代码不显示“姓名”、“年龄”。所以我做了一些改变。

columns: [
       {text: 'My code', dataIndex: 'idWorker'},
       {text: 'Names ', xtype: 'templatecolumn', tlp: '{person.names}'},
       {text: 'Age ', xtype: 'templatecolumn', tlp: '{person.age}'},
       {text: 'Salary ', dataIndex: 'salary'}
    ]

但现在不适用于“姓名”和“年龄”。有人可以帮助我。

法比奥·巴罗斯

请考虑以下解决方案:

检查这个小提琴

Ext.application({
    name: 'Fiddle',

    launch: function () {

        Ext.define('MyModel', {
            extend: 'Ext.data.Model',
            idPropery: 'idWorker',
            fields: [
                "idWorker", {
                    name: 'salary',
                    type: 'int'
                }, 
                {
                    name: 'age',
                    type: 'string',
                    mapping: "person['age']"
                },
                {
                    name: 'names',
                    type: 'string',
                    mapping: "person['names']"
                }
            ]
        });

        var store = Ext.create('Ext.data.Store', {

            model: 'MyModel',

            autoLoad: true,

            proxy: {
                type: 'memory',
                enablePaging: true,
                data: [{
                    "idWorker": 'COD0001',
                    "salary": 2700,
                    "person": {
                        "dni": "57547854",
                        "age": 22,
                        "names": "Diana"
                    }
                }, {
                    "idWorker": 'COD0002',
                    "salary": 1700,
                    "person": {
                        "dni": "00257854",
                        "age": 27,
                        "names": "Carlo"
                    }
                }, {
                    "idWorker": 'COD0003',
                    "salary": 5000,
                    "person": {
                        "dni": "54787854",
                        "age": 18,
                        "names": "Pedro"
                    }
                }, {
                    "idWorker": 'COD0004',
                    "salary": 1800,
                    "person": {
                        "dni": "57547854",
                        "age": 30,
                        "names": "Ramon"
                    }
                }],
                reader: {
                    //type: 'array'
                    type: 'json',
                    rootProperty: 'data'
                }
            }

        });

        var list = Ext.create('Ext.grid.Panel', {
            title: 'MyApp',
            renderTo: Ext.getBody(),

            store: store,

            columns: [{
                text: 'My code',
                dataIndex: 'idWorker'
            }, {
                text: 'Names ',
                dataIndex: 'names'
            }, {
                text: 'Age ',
                dataIndex: 'age'
            }, {
                text: 'Salary ',
                dataIndex: 'salary'
            }],

            dockedItems: [{
                xtype: 'pagingtoolbar',
                dock: 'bottom',
                displayInfo: true
            }]
        });

    }

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在网格和编辑窗口的组合框中显示条目值。Extjs6

来自分类Dev

ExtJS 6网格按关联模型分组

来自分类Dev

Extjs:在网格上显示数据

来自分类Dev

Extjs:在网格上显示数据

来自分类Dev

网格之间的Extjs6关联

来自分类Dev

绑定网格和表单 ExtJs 6

来自分类Dev

ExtJS 6. 带有抑制事件的网格复选框模型

来自分类Dev

在网格模板列上呈现条件语句[ExtJS 4.2.1]

来自分类Dev

ExtJS在网格中加载嵌套的JSON数据

来自分类Dev

ExtJS 4.2.0在网格中加载嵌套的JSON数据

来自分类Dev

在网格字段ExtJS中更改日期格式

来自分类Dev

在网格字段ExtJS中更改日期格式

来自分类Dev

ExtJS在网格中加载嵌套的JSON数据

来自分类Dev

如何在网格内居中放置TextBox元素

来自分类Dev

在网格(CSS)中居中放置图像

来自分类Dev

extjs 6网格自定义标头

来自分类Dev

extjs 6网格自定义标头

来自分类Dev

ExtJS 6 -- 自动调整网格列标题文本

来自分类Dev

从 DB extjs6 动态设置网格 ID

来自分类Dev

Extjs-在网格列中显示日期并单击网格行的事件

来自分类Dev

从返回的模型在网格中显示数据

来自分类Dev

我可以在网格中放置中心孩子吗?不是数据网格

来自分类Dev

根据extjs6中网格值中的值自动调整网格列的大小

来自分类Dev

ExtJS间隔计时器获取数据并在网格中插入新行

来自分类Dev

Extjs 4.1-如何在网格中监听窗口关闭

来自分类Dev

EXTJS-如何在网格中定位渲染的复选框输入

来自分类Dev

双击treepanel应该在网格面板Extjs中添加

来自分类Dev

Extjs4-在网格上拖放后如何更新记录列?

来自分类Dev

ExtJS-如何在网格工具提示(tdAttr)中垂直显示数组值?

Related 相关文章

热门标签

归档