Hybrid View

    Success! Looks like we've fixed this one. According to our records the fix was applied for EXTJS-8946 in a recent build.
  1. #1
    Sencha User tradingpursuits's Avatar
    Join Date
    Sep 2011
    Posts
    6
    Vote Rating
    0
    tradingpursuits is on a distinguished road

      0  

    Default Why RowExpander need grid to be locking to work?

    Why RowExpander need grid to be locking to work?


    When I config grid enableLocking to false, the grid is empty. In Ext.grid.plugin.RowExpander, there is a condition in setCmp function that check grid is locking enabled. I remove that condition and the RowExpander work without needing grid to be locking.

    It would be wonderful if grid does not need to locking before we can use RowExpander.

    Code:
        Ext.Loader.setConfig({
            enabled: true
        });
    
    
        Ext.require([
            'Ext.grid.*',
            'Ext.data.*',
            'Ext.selection.CheckboxModel'
        ]);
    
    
        Ext.onReady(function(){
            Ext.define('Company', {
                extend: 'Ext.data.Model',
                fields: [
                    {name: 'company'},
                    {name: 'price', type: 'float'},
                    {name: 'change', type: 'float'},
                    {name: 'pctChange', type: 'float'},
                    {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'},
                    {name: 'industry'},
                    {name: 'desc'}
                ]
            });
            // Array data for the grids
            Ext.grid.dummyData = [
                ['3m Co',71.72,0.02,0.03,'9/1 12:00am', 'Manufacturing'],
                ['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am', 'Manufacturing'],
                ['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am', 'Manufacturing'],
                ['American Express Company',52.55,0.01,0.02,'9/1 12:00am', 'Finance'],
                ['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am', 'Services'],
                ['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am', 'Services'],
                ['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am', 'Manufacturing'],
                ['Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am', 'Services'],
                ['Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am', 'Finance'],
                ['E.I. du Pont de Nemours and Company',40.48,0.51,1.28,'9/1 12:00am', 'Manufacturing'],
                ['Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am', 'Manufacturing'],
                ['General Electric Company',34.14,-0.08,-0.23,'9/1 12:00am', 'Manufacturing'],
                ['General Motors Corporation',30.27,1.09,3.74,'9/1 12:00am', 'Automotive'],
                ['Hewlett-Packard Co.',36.53,-0.03,-0.08,'9/1 12:00am', 'Computer'],
                ['Honeywell Intl Inc',38.77,0.05,0.13,'9/1 12:00am', 'Manufacturing'],
                ['Intel Corporation',19.88,0.31,1.58,'9/1 12:00am', 'Computer'],
                ['International Business Machines',81.41,0.44,0.54,'9/1 12:00am', 'Computer'],
                ['Johnson & Johnson',64.72,0.06,0.09,'9/1 12:00am', 'Medical'],
                ['JP Morgan & Chase & Co',45.73,0.07,0.15,'9/1 12:00am', 'Finance'],
                ['McDonald\'s Corporation',36.76,0.86,2.40,'9/1 12:00am', 'Food'],
                ['Merck & Co., Inc.',40.96,0.41,1.01,'9/1 12:00am', 'Medical'],
                ['Microsoft Corporation',25.84,0.14,0.54,'9/1 12:00am', 'Computer'],
                ['Pfizer Inc',27.96,0.4,1.45,'9/1 12:00am', 'Medical'],
                ['The Coca-Cola Company',45.07,0.26,0.58,'9/1 12:00am', 'Food'],
                ['The Home Depot, Inc.',34.64,0.35,1.02,'9/1 12:00am', 'Retail'],
                ['The Procter & Gamble Company',61.91,0.01,0.02,'9/1 12:00am', 'Manufacturing'],
                ['United Technologies Corporation',63.26,0.55,0.88,'9/1 12:00am', 'Computer'],
                ['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am', 'Services'],
                ['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am', 'Retail'],
                ['Walt Disney Company (The) (Holding Company)',29.89,0.24,0.81,'9/1 12:00am', 'Services']
            ];
    
    
            // add in some dummy descriptions
            for(var i = 0; i < Ext.grid.dummyData.length; i++){
                Ext.grid.dummyData[i].push('Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. ');
            }
    
    
    
    
            Ext.QuickTips.init();
    
    
            var getLocalStore = function() {
                return Ext.create('Ext.data.ArrayStore', {
                    model: 'Company',
                    data: Ext.grid.dummyData
                });
            };
    
    
    
    
            ////////////////////////////////////////////////////////////////////////////////////////
            // Grid 1
            ////////////////////////////////////////////////////////////////////////////////////////
            // row expander
    
    
            var grid1 = Ext.create('Ext.grid.Panel', {
                store: getLocalStore(),
                columns: [
                    {text: "Company", flex: 1, dataIndex: 'company'},
                    {text: "Price", renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
                    {text: "Change", dataIndex: 'change'},
                    {text: "% Change", dataIndex: 'pctChange'},
                    {text: "Last Updated", renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
                ],
                enableLocking: false,
                width: 600,
                height: 300,
                plugins: [{
                    ptype: 'rowexpander',
                    rowBodyTpl : new Ext.XTemplate(
                            '<p><b>Company:</b> {company}</p>',
                            '<p><b>Change:</b> {change:this.formatChange}</p><br>',
                            '<p><b>Summary:</b> {desc}</p>',
                            {
                                formatChange: function(v){
                                    var color = v >= 0 ? 'green' : 'red';
                                    return '<span style="color: ' + color + ';">' + Ext.util.Format.usMoney(v) + '</span>';
                                }
                            })
                }],
                collapsible: true,
                animCollapse: false,
                title: 'Expander Rows in a Collapsible Grid with lockable columns',
                iconCls: 'icon-grid',
                margin: '0 0 20 0',
                renderTo: Ext.getBody()
            });
        });

  2. #2
    Ext JS Premium Member
    Join Date
    Mar 2007
    Location
    Germany
    Posts
    670
    Vote Rating
    0
    Dumbledore is on a distinguished road

      0  

    Default


    same here...

    i override the setCmp method comment out the enableLocking condition::

    PHP Code:
    Ext.override(Ext.grid.plugin.RowExpander, {
        
    setCmp: function(grid) {
            var 
    me this,
                
    rowBodyTpl,
                
    features;

            
    me.callParent(arguments);
            
    // TODO check the override after ExtJs-4.2.0 is released
            //if (grid.enableLocking) {
                
    me.recordsExpanded = {};
                
    // <debug>
                
    if (!me.rowBodyTpl) {
                    
    Ext.Error.raise("The 'rowBodyTpl' config is required and is not defined.");
                }
                
    // </debug>

                
    me.rowBodyTpl Ext.XTemplate.getTpl(me'rowBodyTpl');
                
    rowBodyTpl this.rowBodyTpl;
                
    features = [{
                    
    ftype'rowbody',
                    
    lockableScope'normal',
                    
    columnIdme.getHeaderId(),
                    
    recordsExpandedme.recordsExpanded,
                    
    rowBodyHiddenClsme.rowBodyHiddenCls,
                    
    rowCollapsedClsme.rowCollapsedCls,
                    
    setupRowDatame.getRowBodyFeatureData,
                    
    getRowBodyContents: function(record) {
                        return 
    rowBodyTpl.applyTemplate(record.getData());
                    }
                },{
                    
    ftype'rowwrap',
                    
    lockableScope'normal'
                
    }];

                if (
    grid.features) {
                    
    grid.features Ext.Array.push(featuresgrid.features);
                } else {
                    
    grid.features features;
                }
            
    //}
            // NOTE: features have to be added before init (before Table.initComponent)
        
    }
    }); 

  3. #3
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,499
    Vote Rating
    47
    Animal has a spectacular aura about Animal has a spectacular aura about

      0  

    Default


    That's a bug!

    I will investigate this.

  4. #4
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,499
    Vote Rating
    47
    Animal has a spectacular aura about Animal has a spectacular aura about

      0  

    Default


    Thanks for the report! I have opened a bug in our bug tracker.

Thread Participants: 2

Tags for this Thread

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi