0

私は2つのパネルを持っています。左パネルの項目をクリックすると、Web サービスが呼び出され、右パネルにデータが入力され、同時に右パネルの項目数がクリックされた左パネル項目に更新されます。初めて左パネル項目を更新しますが、他の左パネル項目をクリックすると、左パネル項目が再度更新されません。その更新は初回のみです。

私のコードは次のとおりです。

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

},

この問題について私を助けてください。

4

1 に答える 1

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);
            }
        });
于 2012-06-21T10:46:39.670 に答える