2015-08-19 58 views
1

我有兩個網格,我想通過雙擊第一個網格將項目從網格移動到另一個網格。我添加了一個偵聽器,以第一網格和遇到問題表示第二網格所選擇的項目ExtJs雙擊網格行應該將項目移動到另一個網格

   Ext.define('SessionGridPanel', { 
       extend: 'Ext.grid.Panel', 
       alias: 'widget.sessiongridpanel', 
       listeners: { 
        itemdblclick: function (gridpanel, record, item, e) { 

         var selectedForm = Ext.create('SelectedPanel');        
         selectedForm.getStore.add(record); 
         //selectedForm.getStore().insert(0, [record]); 
         //selectedForm.getView().getStore().insert(0, record); 
        } 

下面是我的第二個網格

   Ext.define('SelectedPanel', { 
       xtype: 'grid', 
       itemId: 'myGrid', 
       id: 'myIdGrid', 
       extend: 'Ext.grid.Panel', 
       alias: 'widget.selectedformpanel', 
       store: { 
        fields: [ 
         { name: 'id', type: 'int' }, 
         { name: 'title', type: 'string' }, 
         { name: 'approved', type: 'bool' } 
        ] 
       }, 
       selModel: sm, 
       columns: [ 
        { 
         text: 'Id', 
         xtype: 'gridcolumn', 
         sortable: true, 
         dataIndex: 'id' 
        }, 
        { 
         text: 'Title', 
         xtype: 'gridcolumn', 
         sortable: true, 
         dataIndex: 'title' 
        }, 
        { 
         text: 'Approved', 
         xtype: 'gridcolumn', 
         sortable: true, 
         dataIndex: 'approved' 
        } 
       ], 
       dockedItems: [{ 
        xtype: 'container', 
        cls: 'eformscontainerbutton', 
        dock: 'top', 
        items: [{ 
         xtype: 'button', 
         id: 'moveUp', 
         action: 'moveUp', 
         margin: '4 10 4 0', 
         cls: 'sagitta-deluxe-button', 
         width: 105, 
         tooltip: 'Move Up', 
         text: 'Move Up' 
        }, 
         { 
          xtype: 'button', 
          id: 'moveDown', 
          action: 'moveDown', 
          tooltip: 'Move Down', 
          margin: '4 0 4 10', 
          cls: 'sagitta-deluxe-button', 
          width: 105, 
          text: 'Move Down' 
         } 
        ] 
       }, 
       { 
        // container for the action buttons GENERATE FORMS, VIEW, and CLEAR 
        xtype: 'container', 
        cls: 'eformscontainerbutton', 
        margin: '2 0 2 0', 
        dock: 'bottom', 
        items: [ 

         { 
          xtype: 'button', 
          id: 'clear', 
          action: 'clearAll', 
          tooltip: 'Clear all selections', 
          margin: '4 3 0 10', 
          cls: 'sagitta-deluxe-button', 
          width: 105, 
          text: 'Clear' 
         }] 
       }] 

      }); 

我試圖谷歌,但無法得到加倍有關的任何事情點擊,我嘗試了使用store.add和store.insert按鈕單擊相同的方式,但這也不起作用。 https://fiddle.sencha.com/#fiddle/sg1

建設兩個存儲與共享模式:

回答

2

我在煎茶小提琴爲您製作一個小例子。加入itemdblclick聽者與添加的格/刪除:

listeners: { 
    itemdblclick: function(grid, record) { 
     store2.add(record); 
     store1.remove(record); 
    } 
} 
-1

itemdblClick,試試這個:

itemDblClick: function() { 
    var store = gridpanel.getStore(); // this is store from where record will remove 
    store.remove(record); 
    var store1 = Ext.ComponentQuery.query('grid').getStore(); // you can use any way to get other grid store. 
    store1.add(record); // it will add record in last index of other grid 
} 
相關問題