2013-04-18 75 views
1

我正在用checkcolumn和celledit創建一個網格。我有3列1是複選框,其他是可編輯的文本字段,第三是產品名稱,使用celledit編輯價格。如何在ExtJS Grid中選中複選框時關注可編輯文本框?

當我將檢查記錄上的複選框時,焦點應該在特定記錄的文本字段上。

下面是代碼示例:

Ext.define('MyApp.view.EntryPage', 
{ 
extend : 'Ext.grid.Panel', 
alias : 'widget.entryPage', 
title : 'Product Price Entry', 
store : 'ProductStore', 
loadMask: true, 

plugins: [Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit: 1})], 

initComponent:function(){ 

    var me = this; 
    this.selModel = {xtype:'cellmodel'}, 

    this.columns = { 
       defaults:{sortable : true,hideable : true,menuDisabled : true,align : 'left',style : 'text-align:left'}, 
       items:[ 
          { 

           xtype: 'checkcolumn', 
           header: 'Check Me', 
           dataIndex : 'active', 
           listeners:{ 

           checkchange : function(CheckColumn, rowIndex, checked, eOpts){ 
           // Select the textfield 

           }} 
          }, 
          { 
           text : 'Price', 
           flex:0.75, 
           sortable : false, 
           hideable : false, 
           dataIndex : 'unitprice', 
           editor: 'textfield' 
          }, 
          { 
           text : 'Product Name', 
           flex:2, 
           dataIndex : 'pname' 
          } 
        ]}; 

     //this.features = []; 
     this.callParent(arguments); 

} 
}); 

回答

0

我解決了這個如下:

checkchange : function(CheckColumn, rowIndex, checked, eOpts){ 

     //me.getPlugin('cellplugin').startEdit(record,1);  
     me.getPlugin('cellplugin').startEditByPosition({row: rowIndex, column: 1});   

    }} 

這個工作....哈里哈蘭謝謝您的回答!

相關問題