2013-04-03 59 views
1

我在extJS 4.1.1中有一個網格面板。與其他列我有一個actioncolumn(xtype:'actioncolumn')。我在該列中包含一個處理程序。當我點擊它時,它工作正常,並打開一個加載了許多東西的新窗口。但是當我雙擊該列時出現錯誤。對任何有助於推動歡迎.......在動作列上停止雙擊動作

{ 
     text   : 'Signature', 
     menuDisabled : true, 
     sortable  : false, 
     id    : 'signature', 
     xtype   : 'actioncolumn',    
     width   : 60,    
     items   : [{ 
      icon  : "${resource(dir: 'images', file: 'ADD01003.png')}", 
      tooltip  : 'Add Signature', 
      scope  : this, 
      handler  : function(grid, rowIndex, colIndex) { 
       var records = grid.getStore().getAt(rowIndex).data, 
        fullName = records.fullName, 
        nickName = records.nickName, 
        salutation = grid.getStore().getAt(rowIndex).raw.m00i012001.name, 
        searchValue = records.id ; 

        var filters = new Array(); 
        var store =Ext.data.StoreManager.lookup('S02X004001'); 
        store.clearFilter(); 
        filters.push({property:'member', value:searchValue}); 
        store.loadPage(1, { 
         filters : filters, 
         callback : function(records, options, success) { 
         var view = Ext.widget('v02x004001'); 
         view.show(); 
         Ext.getCmp('fullName-sv02x00400104').setValue(fullName); 
         Ext.getCmp('nickName-sv02x00400104').setValue(nickName);      
         Ext.getCmp('member-sv02x00400104').setValue(searchValue); 
         Ext.getCmp('salutation-sv02x00400104').setValue(salutation); 
         } 
        }); 
      } 
     }] 
    } 
+0

也請發表您的錯誤 – Marco

回答

0

不復活任何殭屍,但對於具有ExtJS的4,5或6個同樣的問題任何人這種解決方法應該工作(也許是類名需稍作修改,粘貼Code已經證明可以在5.1.1中工作)。

訣竅是不能修改actioncolumn但修復itemdblclick事件處理一個可能會像這樣:

listeners: 
{ 
    itemdblclick: function(v, record, item, index, e) 
    { 
     var flyTarget = Ext.fly(e.target); 
     if(flyTarget.hasCls('x-action-col-icon') || flyTarget.hasCls('x-grid-cell-inner-action-col')) 
     { 
      e.stopEvent(); 
      return; 
     } 
     //your code here 
    } 
}