0

私には人の配列があり、各人には連絡先の配列があります。データは json 形式です。

[
  {
    "id": 7900,
    "position": "Tillitsvalgt",
    "person": {
      "id": 1000001,
      "lastName": "Andrushko",
      "contacts": [
        {
          "id": 1000001,
          "personId": 1000001,
          "type": {
            "id": 5,
            "name": "Mobile phone"
          },
          "value": "25417"
        },
        {
          "id": 1000002,
          "personId": 1000001,
          "type": {
            "id": 35,
            "name": "Mobile phone"
          },
          "value": "945417"
        }
      ]
    }
  },
  {
    "id": 7900,
    "position": "Tillitsvalgt",
    "person": {
      "id": 1000001,
      "lastName": "Andrushko",
      "contacts": [
        {
          "id": 1000001,
          "personId": 1000001,
          "type": {
            "id": 5,
            "name": "Mobile phone"
          },
          "value": "25417"
        },
        {
          "id": 1000002,
          "personId": 1000001,
          "type": {
            "id": 35,
            "name": "Mobile phone"
          },
          "value": "945417"
        }
      ]
    }
  }
]

2 つのグリッドを表示したいと思います。1 つ目は人、2 つ目は選択した人の連絡先です。2 つのモデルを作成しました。

Ext.define('Person', {
    extend: 'Ext.data.Model',

    fields: [
        {
            mapping: 'person.lastName',
            name: 'lastName'
        }
    ],

    hasMany: [
        {
            associationKey: 'person.contacts',
            model: 'Contact',
            name: 'contacts'
        }
    ],
    proxy: {
        type: 'ajax',
        url: 'MemberServlet?operation=get',
        reader: {
            type: 'json'
        }
    }
});

および連絡先のモデル:

Ext.define('Contact', {
    extend: 'Ext.data.Model',

    fields: [
        {
            mapping: 'type.name',
            name: 'type'
        },
        {
            name: 'value'
        }
    ],

    belongsTo: {
        model: 'Person'
    }
});

このような構成では、2 番目のグリッドにすべての人の連絡先が表示されます。選択した人だけを表示したいのです。どうすればいいですか?

4

0 に答える 0