2012-05-14 23 views
2

リストからjsonデータを使ってアイテムを追加するリストを作成しています。 私が直面している問題は、削除ボタンがあり、ボタンをクリックしたときに、 リストから選択したアイテムをストアから削除する必要があることです。リストからアイテムを削除する

これは私が

{ 
    text: '', 
    id: 'deletenotesBtn', 
    iconCls:'trash', 
    iconMask: true, 
    ui:'action', 
    handler: function(){ 
    var itemSelected = Ext.getCmp('noteslist').getSelection().remove(); 
    // this.remove(this, true); 
    alert('item deleted'); 
} 

私はそれを達成することができる方法上の任意の提案を試してみましたが、何ですか?

答えて

5

答えはあなたの質問の中です。リストからではなく、ストアからアイテムを削除する必要があります。

... 
handler: function(){ 
    var selection = Ext.getCmp('noteslist').getSelection(); 
    Ext.StoreManager.get('MyStore').remove(selection[0]); 
} 
... 

つまり、リストに使用するストアを「MyStore」とします。

リストの 'getSelection()'メソッドの出力は、選択された(複数の)項目の配列です。どれも選択されていない場合、空の配列が返されます。 1つ以上のアイテムが選択されている場合は、ストア内の対応するレコードの配列が返されます。

すべての場合、ボタンのこのハンドラ機能は、選択したアイテムをストアから削除するため、リストはそれに応じて更新されます。

また、お店の構成に応じて、あなたは、この操作が行われた後、それを同期する場合があります

Ext.StoreManager.get('MyStore').sync(); 

は、この情報がお役に立てば幸いです。

+0

働いて...ありがとうございました。また、選択したリスト項目の内容を抽出する方法もありますか? – Khush

+0

私の(更新された)回答で説明したように、getSelection()は選択されたレコードの配列を返します。したがって、この結果の内容を調べることができます。たとえば、店舗のモデルに 'field1'というフィールドがある場合は、「selection [0] .get( 'field1')」となります。 – borck

+0

yea.figuredそれを出してください。助けてくれてありがとう。 – Khush