ExtJS网格-在一行中显示多个行

时间:2018-10-22 07:02:04

标签: extjs extjs4 extjs4.2 extjs-grid

我在ExtJS存储中有以下json数据。我正在使用Ext.grid.Panel来显示带有列名和电话的内容。

  

{           “ name”:“ Doris Ryan”,           “电话”:“ 1-536-934-9500”       },       {           “ name”:“ Nissim Hines”,           “电话”:“ 1-937-975-0044”       },       {           “ name”:“ Walter Gallegos”,           “电话”:“ 863-4112”       },       {           “ name”:“ Miranda Boyd”,           “电话”:“ 1-820-817-5049”       },       {           “ name”:“ Sonya Booth”,           “ phone”:“ 468-0669”       },       {           “ name”:“ Rose Steele”,           “电话”:“ 1-581-774-8023”       }

因此,我正在以以下格式获取网格

Name              Phone
Doris Ryan        1-536-934-9500
Nissim Hines      1-937-975-0044
Walter Gallegos   863-4112
Miranda Boyd      1-820-817-5049

但是我想按如下所述在Grid中显示内容

Name              Phone            Name              Phone
Doris Ryan        1-536-934-9500   Nissim Hines      1-937-975-0044
Walter Gallegos   863-4112         Miranda Boyd      1-820-817-5049

用户可以编辑电话号码。因此,还请分享有关如何处理网格更新的详细信息。

1 个答案:

答案 0 :(得分:0)

解决方案是更改模型中数据的组装方式,然后通过网格更改曝光。

ExtJS不具有自动在一行中复制两行记录的属性。

创建这样的模型:

Ext.define('YourApp.model.yourFeature.Model', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'Phone1',
        type: 'string'
    }, {
        name: 'Name1',
        type: 'string'
    }, {
        name: 'Phone2',
        type: 'string'
    }, {
        name: 'Name2',
        type: 'string'
    }]
}); 

定义数据,就像您的问题一样:

var data = [{
    "name": "Doris Ryan",
    "phone": "1-536-934-9500"
}, {
    "name": "Nissim Hines",
    "phone": "1-937-975-0044"
}, {
    "name": "Walter Gallegos",
    "phone": "863-4112"
}, {
    "name": "Miranda Boyd",
    "phone": "1-820-817-5049"
}, {
    "name": "Sonya Booth",
    "phone": "468-0669"
}, {
    "name": "Rose Steele",
    "phone": "1-581-774-8023"
}]

因此,您会产生一种奇/偶逻辑来丰富您的记录。