2012-03-15 16 views
0

私は次のtplでデータビューを持っています。extjsネストされたデータビューノードを選択

<tpl for="."> 
    <tpl for="departments"> 
       {title} 
    </tpl> 
    <tpl for="records"> 
     <div class="thumb-wrap"> 
      {name} 
     </div> 
    </tpl> 
</tpl> 

と私のrecordes

itemSelector : 'div.thumb-wrap', 

の上で、この

 reader : new Ext.data.JsonReader(
     { 
      root : 'data', 
     }, 
     [ 
      'departments' , 
      'records' 
      ] 
     ), 

と私の項目selectoreのような私のJSON redear、これが私のJSONデータである

{ 
"success": true, 
"data": [ 
    { 
     "departments": [ 
      { 
       "title": "name" 
      } 
     ], 
     "records": [ 
      { 
       "name": "name" 
      }, 
      { 
       "name": "name" 
      } 
     ] 
    }, 
    { 
     "departments": [ 
      { 
       "title": "name" 
      } 
     ], 
     "records": [ 
      { 
       "name": "name" 
      } 
     ] 
    } 
] 

}

どのように私ののレコードをextjsのデータビューで選択するのですか? と私はどのようにレコードを選択することができますか? 私はgetSelectedRecords()を使用しましたが、部署とレコードの配列を返します。 TNX

+0

あなたはExtJSに4を使用していると仮定します。 –

答えて

1

私はgetSelectedRecords()はあなたがこのような何かやって試すことができますExtJSの4

に廃止されていることをかなり確信している:

var records = data.getRecords(); 

Ext.data.Model[]を返します。

record.get('departments'); 
record.get('records'); 
0

ここでは、レコード構造を使用してシステムに対して作業しています。 DataViewは、1つのレコードが選択可能な1つのアイテムに対応するようにします。しかし、1つのレコードの中に複数の選択可能な項目があることを望みます。動作しません - APIはそのようなことのために設計されていません。

  • レコードのセットごとに別々のDataViewコンポーネントを作成します。

    あなたのオプションがあるように見えます。

  • グループ化を処理できる独自のDataViewコンポーネントを作成します。
  • GroupingViewでグリッドを使用します。レコード構造を以下のように変更する必要がありますが、作業を開始するのが最も簡単な方法です。 DataViewで提供されるかなりの柔軟性を犠牲にしなければなりません。私はつもりだ

    "data": [ 
        { 
         { 
          "department": "Department 1" 
          "name": "record 1" 
         }, 
         { 
          "department": "Department 1" 
          "name": "record 2" 
         }, 
         { 
          "department": "Department 2" 
          "name": "record 1" 
         }, 
         { 
          "department": "Department 2" 
          "name": "record 2" 
         }, 
        ] 
    } 
    
関連する問題