1. #1
    Ext JS Premium Member
    Join Date
    Jun 2011
    Location
    Ottawa, Ontario, Canada
    Posts
    123
    Answers
    3
    Vote Rating
    1
    whalethewise is on a distinguished road

      0  

    Default Answered: Cannot set CheckboxSelectionModel for lockable Grid

    Answered: Cannot set CheckboxSelectionModel for lockable Grid


    I had everything working fine with CheckboxSelectionModel until I set one column locked. Now it doesn't display selection checkboxes. Any suggestions will be appreciated.

    Thanks

  2. Ok... there was a bug with checkbox model and reconfigure that was fixed. This fix will be in 4.1.0 beta (the next release)

  3. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    35,731
    Answers
    3362
    Vote Rating
    754
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    What version are you using? I just tested in 4.0.7 and on our local 4.1.0 branch and added selType : 'checkboxmodel' to the locking grid example and it works just fine.
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  4. #3
    Ext JS Premium Member
    Join Date
    Jun 2011
    Location
    Ottawa, Ontario, Canada
    Posts
    123
    Answers
    3
    Vote Rating
    1
    whalethewise is on a distinguished road

      0  

    Default the problem is in reconfigure

    the problem is in reconfigure


    I was surprised too when I tried with your locking-grid example. Until I found out that this is reconfigure that screws things up.
    Try this code instead of your locking-grid.js
    Code:
    /*
    
    
    This file is part of Ext JS 4
    
    
    Copyright (c) 2011 Sencha Inc
    
    
    Contact:  http://www.sencha.com/contact
    
    
    Commercial Usage
    Licensees holding valid commercial licenses may use this file in accordance with the Commercial Software License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Sencha.
    
    
    If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact.
    
    
    */
    Ext.require([
        'Ext.grid.*',
        'Ext.data.*',
        'Ext.util.*',
        'Ext.state.*'
    ]);
    
    
    Ext.onReady(function() {
        Ext.QuickTips.init();
    
    
        // sample static data for the store
        var myData = [
            ['3m Co',                               71.72, 0.02,  0.03,  '9/1 12:00am'],
            ['Alcoa Inc',                           29.01, 0.42,  1.47,  '9/1 12:00am'],
            ['Altria Group Inc',                    83.81, 0.28,  0.34,  '9/1 12:00am'],
            ['American Express Company',            52.55, 0.01,  0.02,  '9/1 12:00am'],
            ['American International Group, Inc.',  64.13, 0.31,  0.49,  '9/1 12:00am'],
            ['AT&T Inc.',                           31.61, -0.48, -1.54, '9/1 12:00am'],
            ['Boeing Co.',                          75.43, 0.53,  0.71,  '9/1 12:00am'],
            ['Caterpillar Inc.',                    67.27, 0.92,  1.39,  '9/1 12:00am'],
            ['Citigroup, Inc.',                     49.37, 0.02,  0.04,  '9/1 12:00am'],
            ['E.I. du Pont de Nemours and Company', 40.48, 0.51,  1.28,  '9/1 12:00am'],
            ['Exxon Mobil Corp',                    68.1,  -0.43, -0.64, '9/1 12:00am'],
            ['General Electric Company',            34.14, -0.08, -0.23, '9/1 12:00am'],
            ['General Motors Corporation',          30.27, 1.09,  3.74,  '9/1 12:00am'],
            ['Hewlett-Packard Co.',                 36.53, -0.03, -0.08, '9/1 12:00am'],
            ['Honeywell Intl Inc',                  38.77, 0.05,  0.13,  '9/1 12:00am'],
            ['Intel Corporation',                   19.88, 0.31,  1.58,  '9/1 12:00am'],
            ['International Business Machines',     81.41, 0.44,  0.54,  '9/1 12:00am'],
            ['Johnson & Johnson',                   64.72, 0.06,  0.09,  '9/1 12:00am'],
            ['JP Morgan & Chase & Co',              45.73, 0.07,  0.15,  '9/1 12:00am'],
            ['McDonald\'s Corporation',             36.76, 0.86,  2.40,  '9/1 12:00am'],
            ['Merck & Co., Inc.',                   40.96, 0.41,  1.01,  '9/1 12:00am'],
            ['Microsoft Corporation',               25.84, 0.14,  0.54,  '9/1 12:00am'],
            ['Pfizer Inc',                          27.96, 0.4,   1.45,  '9/1 12:00am'],
            ['The Coca-Cola Company',               45.07, 0.26,  0.58,  '9/1 12:00am'],
            ['The Home Depot, Inc.',                34.64, 0.35,  1.02,  '9/1 12:00am'],
            ['The Procter & Gamble Company',        61.91, 0.01,  0.02,  '9/1 12:00am'],
            ['United Technologies Corporation',     63.26, 0.55,  0.88,  '9/1 12:00am'],
            ['Verizon Communications',              35.57, 0.39,  1.11,  '9/1 12:00am'],
            ['Wal-Mart Stores, Inc.',               45.45, 0.73,  1.63,  '9/1 12:00am']
        ];
    
    
        /**
         * Custom function used for column renderer
         * @param {Object} val
         */
        function change(val) {
            if (val > 0) {
                return '<span style="color:green;">' + val + '</span>';
            } else if (val < 0) {
                return '<span style="color:red;">' + val + '</span>';
            }
            return val;
        }
    
    
        /**
         * Custom function used for column renderer
         * @param {Object} val
         */
        function pctChange(val) {
            if (val > 0) {
                return '<span style="color:green;">' + val + '%</span>';
            } else if (val < 0) {
                return '<span style="color:red;">' + val + '%</span>';
            }
            return val;
        }
    
    
        // create the data store
        var store = Ext.create('Ext.data.ArrayStore', {
            fields: [
               {name: 'company'},
               {name: 'price',      type: 'float'},
               {name: 'change',     type: 'float'},
               {name: 'pctChange',  type: 'float'},
               {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
            ],
            data: myData
        });
       var cc = true;
        // create the Grid
       var gridColumns1 = [{
          text     : 'Company Name',
          locked: true,
          width    : 200,
          sortable : false,
          dataIndex: 'company'
       },{
          text     : 'Price',
          locked: true,
          width    : 125,
          sortable : true,
          renderer : 'usMoney',
          dataIndex: 'price'
       },{
          text     : 'Change',
          width    : 125,
          sortable : true,
          renderer : change,
          dataIndex: 'change'
       },{
          text     : '% Change',
          width    : 125,
          sortable : true,
          renderer : pctChange,
          dataIndex: 'pctChange'
       },{
          text     : 'Last Updated',
          width    : 135,
          sortable : true,
          renderer : Ext.util.Format.dateRenderer('m/d/Y'),
          dataIndex: 'lastChange'
       }];
       var gridColumns = [{
          text     : 'Company Name',
          locked: true,
          width    : 200,
          sortable : false,
          dataIndex: 'company'
       },{
          text     : 'Price',
          locked: true,
          width    : 125,
          sortable : true,
          renderer : 'usMoney',
          dataIndex: 'price'
       },{
          text     : 'Change',
          width    : 125,
          sortable : true,
          renderer : change,
          dataIndex: 'change'
       },{
          text     : '% Change',
          width    : 125,
          sortable : true,
          renderer : pctChange,
          dataIndex: 'pctChange'
       },{
          text     : 'Last Updated',
          width    : 135,
          sortable : true,
          renderer : Ext.util.Format.dateRenderer('m/d/Y'),
          dataIndex: 'lastChange'
       },{
          text: 'Extra Column'
       }];
       var grid = Ext.create('Ext.grid.Panel', {
          store: store,
          columnLines: true,
          lockable: true,
          selModel: Ext.create('Ext.selection.CheckboxModel'),
          tbar: [
             {xtype: 'button', text: 'Reconfigure', handler: function () {
                if (cc)
                {
                   grid.reconfigure(null, gridColumns1);
                }  else
                {
                   grid.reconfigure(null, gridColumns);
                }
                cc = !cc;
             }}
          ],
          columns: gridColumns,
          height: 350,
          width: 600,
          title: 'Locking Grid Column',
          renderTo: 'grid-example',
          viewConfig: {
              stripeRows: true
          }
        });
    });

  5. #4
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    35,731
    Answers
    3362
    Vote Rating
    754
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    Ok... there was a bug with checkbox model and reconfigure that was fixed. This fix will be in 4.1.0 beta (the next release)
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  6. #5
    Ext JS Premium Member
    Join Date
    Jun 2011
    Location
    Ottawa, Ontario, Canada
    Posts
    123
    Answers
    3
    Vote Rating
    1
    whalethewise is on a distinguished road

      0  

    Default I created very hacky override for myself for now.

    I created very hacky override for myself for now.


    Code:
    /*
    Hack for lockable grid reconfigure so it does keep checkbox selection model going
     */
    Ext.override(Ext.grid.Lockable, {
       reconfigureLockable: function(store, columns) {
          var me = this,
             lockedGrid = me.lockedGrid,
             normalGrid = me.normalGrid;
    
    
          if (columns) {
             lockedGrid.headerCt.suspendLayout = true;
             normalGrid.headerCt.suspendLayout = true;
    
    
             // hack keeping checkbox column
             for (var i = (lockedGrid.headerCt.items.items.length - 1); i > 0; i--) {
                lockedGrid.headerCt.remove(lockedGrid.headerCt.items.items[i]);
             }
    
    
             normalGrid.headerCt.removeAll();
    
    
             columns = me.processColumns(columns);
    
    
             lockedGrid.headerCt.add(columns.locked);
             normalGrid.headerCt.add(columns.normal);
             me.syncLockedWidth();
          }
    
    
          if (store) {
             store = Ext.data.StoreManager.lookup(store);
             me.store = store;
             lockedGrid.bindStore(store);
             normalGrid.bindStore(store);
          } else {
             lockedGrid.getView().refresh();
             normalGrid.getView().refresh();
          }
    
    
          if (columns) {
             lockedGrid.headerCt.suspendLayout = false;
             normalGrid.headerCt.suspendLayout = false;
             lockedGrid.headerCt.forceComponentLayout();
             normalGrid.headerCt.forceComponentLayout();
          }
       }
    
    
    });

Thread Participants: 1

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar