2012-06-13 2 views
0

J'ai deux panneau. Lorsque je clique sur le panneau de gauche, j'appelle le service Web appelant et je remplis le panneau de droite. En même temps, je mets à jour le nombre d'éléments du panneau de droite dans l'élément de gauche sur lequel on clique. lors de la première mise à jour des éléments du panneau de gauche mais lorsque je clique sur l'autre élément du panneau de gauche, il ne met pas à jour les éléments du panneau de gauche. sa mise à jour seulement la première fois.Ne pas mettre à jour la liste dans le panneau à l'exécution en sencha

mon code est:

onInboxListTap:function (dataview, index, item, record) { 
    console.log('Inside onInboxListTap function'); 
    var queuestore = dataview.getStore(); 
    var rec = queuestore.getAt(index); 
    console.log(rec.data.workSetName); 
    var store = Ext.getStore('InboxWorkitemStore'); 
    store.clearData();      //Function To clear WorkitemStore 
    //creating object of InboxQueueServices class 
    var inboxQueueServiceObject = 
    Ext.create('InfoImage.common.services.InboxQueueServices', { 
     config:{ 
      scope:this 

     } 
    }, this.onQueueContentRetrievalSuccess, this.onQueueContentRetrievalFailure()); 
    // calling loadQueueContent function to load queue contents 
    inboxQueueServiceObject.loadQueueContent(rec.data.workSetName); 


    }, 
//To call Function onQueueContentRetrievalSuccess after loadQueueContent successful 
    onQueueContentRetrievalSuccess:function() { 

    console.log('Inside onQueueContent Retrieval Success function'); 

    var store = Ext.getStore('InboxWorkitemStore');    
    //Getting componenet queueDetails list 
    var inboxWorkitemList = Ext.getCmp('inboxWorkitemList'); 
    var queueDetails = Ext.getCmp('queueDetails'); 
    var queueList = Ext.getCmp('queuelist');     //Getting component list 
    var queueViewPanel = Ext.getCmp('queueViewPanel');  //Getting queueViewPanel 
    queueDetails.setStore(store); 
     store.sync(); 
    var queueCount = store.getCount();       
    if (queueCount > 0) { 
     var queueItem = store.getAt(0); 
     var queueStore = queueList.getStore(); 
       queueStore.each(function (record) { 
       if (record.get('workSetName') == queueItem.get('sourceWorkstep')) { 
       record.data.queueName = queueItem.get('sourceWorkstep') + '(' + 
       queueCount + ')'; 

      } 
     }); 

     queueList.setStore(queueStore); 
     queueStore.sync(); 
     queueList.getStore().each(function (record) { 
      console.log('queueList:' + record.data.queueName); 
     }); 
     console.log('store UPDATED'); 
    } 
    queueList.refresh(); 
    console.log('store count: ' + store.getCount()); 
    console.log(queueDetails); 
    // navigates the panel 
    queueViewPanel.animateActiveItem(
     inboxWorkitemList, { 
      type:'slide', 
      direction:'up', 
      duration:250 
     }); 

}, 

S'il vous plaît aidez-moi sur ce isssue.

+0

S'il vous plaît, aidez-moi, c'est très important pour moi. – Amar

+0

12 questions, 7 répondu et AUCUN accepté. Veuillez lire ceci: http://stackoverflow.com/faq#howtoask –

Répondre

0

Je dois définir un record pour que je le résoudre.

queueStore.each(function (record) { 
       if (record.get('workSetName') == workitem.get('sourceWorkset')) { 
       record.data.queueName = workitem.get('sourceWorkset') 
        + '(' + queueCount + ')'; 
       // queueStore.updateRecord(record.data.queueName); 
       record.set(record.data.queueName); 
      } 
     }); 
Questions connexes