2012-06-13 33 views
0

我有兩個面板。當我點擊左側面板上的項目時,它的調用Web服務和填充右側面板,同時它將右側面板中的項目數量更新到左側面板項目中,單擊該項目。 第一次更新左側面板項目,但是當我點擊其他左側面板項目時,它不再更新左側面板項目。 只是第一次更新。在sencha的運行時不更新列表中的列表

我的代碼是:

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 
     }); 

}, 

請幫我在這isssue。

+0

請別人幫助我,對我來說非常重要。 – Amar

+0

12個問題,7個回答,無人接受。請閱讀此:http://stackoverflow.com/faq#howtoask –

回答

0

我必須爲我解決它的記錄。

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); 
      } 
     });