有许多字段模型显示在extjs网格上

i2byvkas  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(177)

我有两个ExtJS模型,分别叫做modelBase和modelChild。我已经将“hasMany”modelChild配置到modelBase中。

Ext.define('app.model.modelBase', {
    extend: 'Ext.data.Model',

    requires: [
        'Ext.data.field.String'
    ],
    uses: [
        'app.model.modelChild'
    ],

    fields: [{
        name: 'post_code'
    }, {
        name: 'building_name'
    }],

    hasMany: {
        associatedName: 'cabinet',
        model: 'app.model.modelChild',
        associationKey: 'cabinet'
    }
});

这是模型子级

Ext.define('app.model.modelChild', {
    extend: 'Ext.data.Model',

    requires: [
        'Ext.data.field.Field'
    ],

    belongsTo: 'app.model.modelBase',

    fields: [{
        name: 'operator'
    }]
});

我的问题是如何在ExtJS网格中显示modelChild字段(运算符)?我将有多条记录使用modelChild。我想在ExtjS网格的插件中使用“rowwidget”,但无法配置为显示运算符(来自modelChild)
我目前使用ExtJS 7.1

rn0zuynd

rn0zuynd1#

您必须使用渲染器来显示hasOne或hasMany关联

columns: [{
    dataIndex: 'notWorkingForHasOne',
    text: 'Type',
    flex: 1,
    // dataIndex is not working
    renderer: 'renderType'
}]

和viewController内部

// for hasOne userDetail
renderType: function (dataIndex, cell, record) {
    return record.getUserDetails().get('type');
},

// for hasMany publications
renderPublicationsFirstName: function (dataIndex, cell, record) {
    return record.publications().first().get('name');
},

相关问题