1. #1
    Sencha User
    Join Date
    Sep 2012
    Posts
    3
    Vote Rating
    3
    pturley is on a distinguished road

      1  

    Default Unanswered: Editable Grids slow to render in ie8

    Unanswered: Editable Grids slow to render in ie8


    Hi,

    I am developing an application where a single screen may have up to four editable grids. When I run these screens in ie8 the response time can be anything between 2 and 10 seconds. If I run the same screen in firefox or chrome the response times are between 1 and 2 seconds.

    I have attached an example of the code that we are developing and wonder if anyone could see if there is anything I am doing wrong to cause such a performance issue in ie. Just for the example I have rendered the same grid four times to you can get the idea.

    This is my simple html file

    Code:
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>t7210</title>
    
        <link rel="stylesheet" type="text/css" href="http://localhost:8080/dev/extjs_4_1/css/ext-all.css"/>
        <link rel="stylesheet" type="text/css" href="http://localhost:8080/dev/extjs_4_1/ux/css/CheckHeader.css" />
        <link rel="stylesheet" type="text/css" href="http://localhost:8080/dev/extjs_4_1/examples.css" />
    
        <script type="text/javascript" src="http://localhost:8080/dev/extjs_4_1/js/ext-all.js"></script>
    
        <script type="text/javascript">
            document.write('ExtJS: '+Ext.versions.extjs.version);
        </script>
    
        <script type="text/javascript" src="http://localhost:8080/dev/extjs/pt/TaskContributor.js"></script>
    
    <script>
    
    Ext.Loader.setConfig({
        enabled : true
    });
    Ext.Loader.setPath('Ext.ux', 'http://localhost:8080/dev/extjs_4_1/ux/');
    
    Ext.require([
            'Ext.ux.CheckColumn',
            'Ext.ux.RowExpander',
            'Ext.ux.form.SearchField'
        ]);
            //build_task_contributor_grid(123);
                  //build_task_progress_grid(123);
                 // build_task_review_grid(123);
                 // build_task_contact_grid(123);
    
    </script>
    </head>
    <body>
    <style>
         #TASK_CONTRIBUTOR-grid{ width: 600; border: 3px; float: left;}
    </style>
    <div id="TASK_CONTRIBUTOR-grid"></div>
    </body>
    <script>
    Ext.onReady(function () {
    console.log('Call Task Contributor '+Date());
          build_task_contributor_grid(513);
    console.log('End Call Task Contributor '+Date());
    });
         </script>
    </html>
    This is the javascript file it is calling which includes some dummy functions used by the store.

    Code:
    function get_url_filterdata(){
    
    }
    
    function dateFormatRenderer(value) {
        if (typeof value == 'string'){
           return value;
        }else{
            return value ? Ext.Date.dateFormat(value, 'd/m/Y') : '';
        }
    }
    
    function build_task_contributor_grid(pId) {
    
    //Ext.onReady(function () {    
    console.log('Define Model '+Date());
    // Define our data model
        Ext.define('TASK_CONTRIBUTOR', {
            extend : 'Ext.data.Model',
            fields : ['CONTRIBUTOR_ID','TASK_ID','SERVICE_ID','CONTEXT','CONTEXT_ID','CONTEXT_X_ID','START_DATE','END_DATE','ROLE','MD5']
        });
    
    console.log('Define Store '+Date());
    //Define the data store    
        TaskContributorStore = Ext.create('Ext.data.Store', {
                // destroy the store if the grid is destroyed
                autoDestroy : false,
                model : 'TASK_CONTRIBUTOR',
                remoteSort : true,
                pageSize : 10,
                storeid : 'TASK_CONTRIBUTOR',
                proxy : {
                    type : 'ajax',
                    url : get_url_filterdata,
                    extraParams : {
                    x01 : 'TASK_CONTRIBUTOR',
                    x05 : 'TASK_ID = ' + pId
                    },
                    pageParam : undefined,
                    startParam : 'x02',
                    limitParam : 'x03',
                    filterParam : 'x04',
                    noCache : false,
                    reader : {
                        type : 'json',
                        root : 'ROWSET',
                        totalProperty : 'totalcount'
                    }
                }
            });
    
    console.log('Define Grid Edit '+Date());
        Ext.define('GridRowEditing', {
            extend: 'Ext.grid.plugin.RowEditing',
                alias: ['plugin.GridRowEditing'],
                requires: [
                        'Ext.grid.RowEditor'
                          ],
                clicksToMoveEditor : 1,
                autoCancel : false,
                listeners : {
                    'edit' : function (editor, e) {
        
                        var grid = e.grid;
                        var record = e.record;
                        var statusMsg = 'Status';
        
                        //e.grid.store.storeid holds the context name!
                        gMsg = update_record(e.grid.store.storeid, record.data);
                        gMsg = jQuery.parseJSON(gMsg);
                        //set back record the MD5 as this would have changed during the update
                        for(i=0; i<gMsg.length; i++)
                        {
                            //e.record.set(gMsg[i].ITEM_NAME, gMsg[i].ITEM_MSG);
                            if(gMsg[i].ITEM_NAME == 'MD5')
                            {
                                e.record.set(gMsg[i].ITEM_NAME, gMsg[i].ITEM_MSG);
                            }
                            if(gMsg[i].ITEM_NAME == 'CVW_PAGE_LEVEL')
                            {
                                statusMsg = gMsg[i].ITEM_MSG;
                            }                            
                        }
                        Ext.MessageBox.alert('Status', statusMsg);//gMsg[0].ITEM_MSG);
                        e.record.commit();
                    }
                }
            });
    
    // Define the Grid Editor
    
        var TaskContributorrowEditing = Ext.create('GridRowEditing');
    
    
    console.log('Build Grid 1 '+Date());
    //create the grid and specify what fields we want
        var TaskContributor1 = Ext.create('Ext.grid.Panel', {
                store : TaskContributorStore,
                autoDestroy : false,
                minHeight : 300,
                width : 600,
                title : 'Task Contributors',
                frame : true,
                columns : [{
                            header: 'CONTRIBUTOR_ID',
                            dataIndex: 'CONTRIBUTOR_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'TASK_ID',
                            dataIndex: 'TASK_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'SERVICE_ID',
                            dataIndex: 'SERVICE_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT',
                            dataIndex: 'CONTEXT',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT_ID',
                            dataIndex: 'CONTEXT_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT_X_ID',
                            dataIndex: 'CONTEXT_X_ID',
                            flex: 1,
                            hidden: true
                        },{                    
                            header : 'Start Date',
                            dataIndex : 'START_DATE',
                            width : 90,
                            minValue : '01/01/2001',
                            format : 'd/m/Y',
                            renderer : dateFormatRenderer,
                            field : {
                                        xtype : 'datefield',
                                        allowBlank : false,
                                        format : 'd/m/Y',
                                        minValue : '01/01/2001',
                                        minText : 'Start date cannot be before today!',
                                        maxValue : Ext.Date.format(new Date(), 'd/m/Y')
                                    }                                    
                        },{
                            header : 'End Date',
                            dataIndex : 'END_DATE',
                            width : 90,
                            minValue : '01/01/2001',
                            format : 'd/m/Y',
                            renderer : dateFormatRenderer,
                            field : {
                                        xtype : 'datefield',
                                        format : 'd/m/Y',
                                        minValue : '01/01/2001',
                                        minText : 'Start date cannot be before today!'
                                    }
                        },{
                            header: 'Role',
                            dataIndex: 'ROLE',
                            flex: 1,
                            editor: {
                                        id : 'editROLE',
                                        xtype : 'textfield',
                                        maxLength : 8,
                                        allowBlank : false
                                    }
                        },{
                            header: 'MD5',
                            dataIndex: 'MD5',
                            flex: 1,
                            hidden: true
                        }],
                renderTo : 'TASK_CONTRIBUTOR-grid',
                dockedItems : [{
                        dock : 'top',
                        xtype : 'toolbar',
                        items : [{
                                width : 200,
                                fieldLabel : 'Search',
                                labelWidth : 50,
                                xtype : 'searchfield',
                                store : TaskContributorStore
                            }, '->', {
                                xtype : 'component',
                                itemId : 'status',
                                tpl : 'Matching threads: {count}',
                                style : 'margin-right:5px'
                            }
                        ]
                    }
                ],
                tbar : [{
                        text : 'Add Task Contributor Details',
                        iconCls : 'TASK_CONTRIBUTOR-add',
                        handler : function () {
                            TaskContributorrowEditing.cancelEdit();
    
                            // Create a record instance through the ModelManager
                            var r = Ext.ModelManager.create({                        
                                                                CONTRIBUTOR_ID : ''
                                                                ,TASK_ID : ''
                                                                ,SERVICE_ID : ''
                                                                ,CONTEXT : ''
                                                                ,CONTEXT_ID : ''
                                                                ,CONTEXT_X_ID : ''
                                                                ,START_DATE : ''
                                                                ,END_DATE : ''
                                                                ,ROLE : ''
                                                                ,MD5 : ''
                                                            }
                                                            , 'TASK_CONTRIBUTOR');
    
                            TaskContributorStore.insert(0, r);
                            TaskContributorrowEditing.startEdit(0, 0);
                        }
                    }, {
                        itemId : 'removeTASK_CONTRIBUTOR',
                        text : 'Remove Task Contributor',
                        iconCls : 'TASK_CONTRIBUTOR-remove',
                        handler : function () {
                                var sm = grid.getSelectionModel();
                                var rec = grid.getSelectionModel().getSelection();
                                //call the delete record function
                                //delete_record('TASK_CONTRIBUTOR',rec[0].data);
                                TaskProgressrowEditing.cancelEdit();
                                TaskProgressStore.remove(sm.getSelection());
                                sm.select(0);
                        },
                        disabled : true
                    }
                ],
                plugins : [TaskContributorrowEditing],
                bbar : Ext.create('Ext.PagingToolbar', {
                    store : TaskContributorStore,
                    displayInfo : true,
                    displayMsg : 'Displaying <b>{0} - {1} of {2}</b>',
                    emptyMsg : "No Task Contributors to display"
                }),
                listeners : {
                    'selectionchange' : function (view, records) {
                        grid.down('#removeTASK_CONTRIBUTOR').setDisabled(!records.length);
                    }
                }
                
            });
        //TaskContributorStore.loadPage(1);
    
    console.log('Build Grid 2 '+Date());
    
        var TaskContributor2 = Ext.create('Ext.grid.Panel', {
                store : TaskContributorStore,
                autoDestroy : false,
                minHeight : 300,
                width : 600,
                title : 'Task Contributors',
                frame : true,
                columns : [{
                            header: 'CONTRIBUTOR_ID',
                            dataIndex: 'CONTRIBUTOR_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'TASK_ID',
                            dataIndex: 'TASK_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'SERVICE_ID',
                            dataIndex: 'SERVICE_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT',
                            dataIndex: 'CONTEXT',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT_ID',
                            dataIndex: 'CONTEXT_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT_X_ID',
                            dataIndex: 'CONTEXT_X_ID',
                            flex: 1,
                            hidden: true
                        },{                    
                            header : 'Start Date',
                            dataIndex : 'START_DATE',
                            width : 90,
                            minValue : '01/01/2001',
                            format : 'd/m/Y',
                            renderer : dateFormatRenderer,
                            field : {
                                        xtype : 'datefield',
                                        allowBlank : false,
                                        format : 'd/m/Y',
                                        minValue : '01/01/2001',
                                        minText : 'Start date cannot be before today!',
                                        maxValue : Ext.Date.format(new Date(), 'd/m/Y')
                                    }                                    
                        },{
                            header : 'End Date',
                            dataIndex : 'END_DATE',
                            width : 90,
                            minValue : '01/01/2001',
                            format : 'd/m/Y',
                            renderer : dateFormatRenderer,
                            field : {
                                        xtype : 'datefield',
                                        format : 'd/m/Y',
                                        minValue : '01/01/2001',
                                        minText : 'Start date cannot be before today!'
                                    }
                        },{
                            header: 'Role',
                            dataIndex: 'ROLE',
                            flex: 1,
                            editor: {
                                        id : 'editROLE',
                                        xtype : 'textfield',
                                        maxLength : 8,
                                        allowBlank : false
                                    }
                        },{
                            header: 'MD5',
                            dataIndex: 'MD5',
                            flex: 1,
                            hidden: true
                        }],
                renderTo : 'TASK_CONTRIBUTOR-grid',
                dockedItems : [{
                        dock : 'top',
                        xtype : 'toolbar',
                        items : [{
                                width : 200,
                                fieldLabel : 'Search',
                                labelWidth : 50,
                                xtype : 'searchfield',
                                store : TaskContributorStore
                            }, '->', {
                                xtype : 'component',
                                itemId : 'status',
                                tpl : 'Matching threads: {count}',
                                style : 'margin-right:5px'
                            }
                        ]
                    }
                ],
                tbar : [{
                        text : 'Add Task Contributor Details',
                        iconCls : 'TASK_CONTRIBUTOR-add',
                        handler : function () {
                            TaskContributorrowEditing.cancelEdit();
    
                            // Create a record instance through the ModelManager
                            var r = Ext.ModelManager.create({                        
                                                                CONTRIBUTOR_ID : ''
                                                                ,TASK_ID : ''
                                                                ,SERVICE_ID : ''
                                                                ,CONTEXT : ''
                                                                ,CONTEXT_ID : ''
                                                                ,CONTEXT_X_ID : ''
                                                                ,START_DATE : ''
                                                                ,END_DATE : ''
                                                                ,ROLE : ''
                                                                ,MD5 : ''
                                                            }
                                                            , 'TASK_CONTRIBUTOR');
    
                            TaskContributorStore.insert(0, r);
                            TaskContributorrowEditing.startEdit(0, 0);
                        }
                    }, {
                        itemId : 'removeTASK_CONTRIBUTOR',
                        text : 'Remove Task Contributor',
                        iconCls : 'TASK_CONTRIBUTOR-remove',
                        handler : function () {
                                var sm = grid.getSelectionModel();
                                var rec = grid.getSelectionModel().getSelection();
                                //call the delete record function
                                //delete_record('TASK_CONTRIBUTOR',rec[0].data);
                                TaskProgressrowEditing.cancelEdit();
                                TaskProgressStore.remove(sm.getSelection());
                                sm.select(0);
                        },
                        disabled : true
                    }
                ],
                plugins : [TaskContributorrowEditing],
                bbar : Ext.create('Ext.PagingToolbar', {
                    store : TaskContributorStore,
                    displayInfo : true,
                    displayMsg : 'Displaying <b>{0} - {1} of {2}</b>',
                    emptyMsg : "No Task Contributors to display"
                }),
                listeners : {
                    'selectionchange' : function (view, records) {
                        grid.down('#removeTASK_CONTRIBUTOR').setDisabled(!records.length);
                    }
                }
                
            });
    
    console.log('Build Grid 3 '+Date());
    
        var TaskContributor3 = Ext.create('Ext.grid.Panel', {
                store : TaskContributorStore,
                autoDestroy : false,
                minHeight : 300,
                width : 600,
                title : 'Task Contributors',
                frame : true,
                columns : [{
                            header: 'CONTRIBUTOR_ID',
                            dataIndex: 'CONTRIBUTOR_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'TASK_ID',
                            dataIndex: 'TASK_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'SERVICE_ID',
                            dataIndex: 'SERVICE_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT',
                            dataIndex: 'CONTEXT',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT_ID',
                            dataIndex: 'CONTEXT_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT_X_ID',
                            dataIndex: 'CONTEXT_X_ID',
                            flex: 1,
                            hidden: true
                        },{                    
                            header : 'Start Date',
                            dataIndex : 'START_DATE',
                            width : 90,
                            minValue : '01/01/2001',
                            format : 'd/m/Y',
                            renderer : dateFormatRenderer,
                            field : {
                                        xtype : 'datefield',
                                        allowBlank : false,
                                        format : 'd/m/Y',
                                        minValue : '01/01/2001',
                                        minText : 'Start date cannot be before today!',
                                        maxValue : Ext.Date.format(new Date(), 'd/m/Y')
                                    }                                    
                        },{
                            header : 'End Date',
                            dataIndex : 'END_DATE',
                            width : 90,
                            minValue : '01/01/2001',
                            format : 'd/m/Y',
                            renderer : dateFormatRenderer,
                            field : {
                                        xtype : 'datefield',
                                        format : 'd/m/Y',
                                        minValue : '01/01/2001',
                                        minText : 'Start date cannot be before today!'
                                    }
                        },{
                            header: 'Role',
                            dataIndex: 'ROLE',
                            flex: 1,
                            editor: {
                                        id : 'editROLE',
                                        xtype : 'textfield',
                                        maxLength : 8,
                                        allowBlank : false
                                    }
                        },{
                            header: 'MD5',
                            dataIndex: 'MD5',
                            flex: 1,
                            hidden: true
                        }],
                renderTo : 'TASK_CONTRIBUTOR-grid',
                dockedItems : [{
                        dock : 'top',
                        xtype : 'toolbar',
                        items : [{
                                width : 200,
                                fieldLabel : 'Search',
                                labelWidth : 50,
                                xtype : 'searchfield',
                                store : TaskContributorStore
                            }, '->', {
                                xtype : 'component',
                                itemId : 'status',
                                tpl : 'Matching threads: {count}',
                                style : 'margin-right:5px'
                            }
                        ]
                    }
                ],
                tbar : [{
                        text : 'Add Task Contributor Details',
                        iconCls : 'TASK_CONTRIBUTOR-add',
                        handler : function () {
                            TaskContributorrowEditing.cancelEdit();
    
                            // Create a record instance through the ModelManager
                            var r = Ext.ModelManager.create({                        
                                                                CONTRIBUTOR_ID : ''
                                                                ,TASK_ID : ''
                                                                ,SERVICE_ID : ''
                                                                ,CONTEXT : ''
                                                                ,CONTEXT_ID : ''
                                                                ,CONTEXT_X_ID : ''
                                                                ,START_DATE : ''
                                                                ,END_DATE : ''
                                                                ,ROLE : ''
                                                                ,MD5 : ''
                                                            }
                                                            , 'TASK_CONTRIBUTOR');
    
                            TaskContributorStore.insert(0, r);
                            TaskContributorrowEditing.startEdit(0, 0);
                        }
                    }, {
                        itemId : 'removeTASK_CONTRIBUTOR',
                        text : 'Remove Task Contributor',
                        iconCls : 'TASK_CONTRIBUTOR-remove',
                        handler : function () {
                                var sm = grid.getSelectionModel();
                                var rec = grid.getSelectionModel().getSelection();
                                //call the delete record function
                                //delete_record('TASK_CONTRIBUTOR',rec[0].data);
                                TaskProgressrowEditing.cancelEdit();
                                TaskProgressStore.remove(sm.getSelection());
                                sm.select(0);
                        },
                        disabled : true
                    }
                ],
                plugins : [TaskContributorrowEditing],
                bbar : Ext.create('Ext.PagingToolbar', {
                    store : TaskContributorStore,
                    displayInfo : true,
                    displayMsg : 'Displaying <b>{0} - {1} of {2}</b>',
                    emptyMsg : "No Task Contributors to display"
                }),
                listeners : {
                    'selectionchange' : function (view, records) {
                        grid.down('#removeTASK_CONTRIBUTOR').setDisabled(!records.length);
                    }
                }
                
            });
    console.log('Build Grid 4 '+Date());
        var TaskContributor4 = Ext.create('Ext.grid.Panel', {
                store : TaskContributorStore,
                autoDestroy : false,
                minHeight : 300,
                width : 600,
                title : 'Task Contributors',
                frame : true,
                columns : [{
                            header: 'CONTRIBUTOR_ID',
                            dataIndex: 'CONTRIBUTOR_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'TASK_ID',
                            dataIndex: 'TASK_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'SERVICE_ID',
                            dataIndex: 'SERVICE_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT',
                            dataIndex: 'CONTEXT',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT_ID',
                            dataIndex: 'CONTEXT_ID',
                            flex: 1,
                            hidden: true
                        },{
                            header: 'CONTEXT_X_ID',
                            dataIndex: 'CONTEXT_X_ID',
                            flex: 1,
                            hidden: true
                        },{                    
                            header : 'Start Date',
                            dataIndex : 'START_DATE',
                            width : 90,
                            minValue : '01/01/2001',
                            format : 'd/m/Y',
                            renderer : dateFormatRenderer,
                            field : {
                                        xtype : 'datefield',
                                        allowBlank : false,
                                        format : 'd/m/Y',
                                        minValue : '01/01/2001',
                                        minText : 'Start date cannot be before today!',
                                        maxValue : Ext.Date.format(new Date(), 'd/m/Y')
                                    }                                    
                        },{
                            header : 'End Date',
                            dataIndex : 'END_DATE',
                            width : 90,
                            minValue : '01/01/2001',
                            format : 'd/m/Y',
                            renderer : dateFormatRenderer,
                            field : {
                                        xtype : 'datefield',
                                        format : 'd/m/Y',
                                        minValue : '01/01/2001',
                                        minText : 'Start date cannot be before today!'
                                    }
                        },{
                            header: 'Role',
                            dataIndex: 'ROLE',
                            flex: 1,
                            editor: {
                                        id : 'editROLE',
                                        xtype : 'textfield',
                                        maxLength : 8,
                                        allowBlank : false
                                    }
                        },{
                            header: 'MD5',
                            dataIndex: 'MD5',
                            flex: 1,
                            hidden: true
                        }],
                renderTo : 'TASK_CONTRIBUTOR-grid',
                dockedItems : [{
                        dock : 'top',
                        xtype : 'toolbar',
                        items : [{
                                width : 200,
                                fieldLabel : 'Search',
                                labelWidth : 50,
                                xtype : 'searchfield',
                                store : TaskContributorStore
                            }, '->', {
                                xtype : 'component',
                                itemId : 'status',
                                tpl : 'Matching threads: {count}',
                                style : 'margin-right:5px'
                            }
                        ]
                    }
                ],
                tbar : [{
                        text : 'Add Task Contributor Details',
                        iconCls : 'TASK_CONTRIBUTOR-add',
                        handler : function () {
                            TaskContributorrowEditing.cancelEdit();
    
                            // Create a record instance through the ModelManager
                            var r = Ext.ModelManager.create({                        
                                                                CONTRIBUTOR_ID : ''
                                                                ,TASK_ID : ''
                                                                ,SERVICE_ID : ''
                                                                ,CONTEXT : ''
                                                                ,CONTEXT_ID : ''
                                                                ,CONTEXT_X_ID : ''
                                                                ,START_DATE : ''
                                                                ,END_DATE : ''
                                                                ,ROLE : ''
                                                                ,MD5 : ''
                                                            }
                                                            , 'TASK_CONTRIBUTOR');
    
                            TaskContributorStore.insert(0, r);
                            TaskContributorrowEditing.startEdit(0, 0);
                        }
                    }, {
                        itemId : 'removeTASK_CONTRIBUTOR',
                        text : 'Remove Task Contributor',
                        iconCls : 'TASK_CONTRIBUTOR-remove',
                        handler : function () {
                                var sm = grid.getSelectionModel();
                                var rec = grid.getSelectionModel().getSelection();
                                //call the delete record function
                                //delete_record('TASK_CONTRIBUTOR',rec[0].data);
                                TaskProgressrowEditing.cancelEdit();
                                TaskProgressStore.remove(sm.getSelection());
                                sm.select(0);
                        },
                        disabled : true
                    }
                ],
                plugins : [TaskContributorrowEditing],
                bbar : Ext.create('Ext.PagingToolbar', {
                    store : TaskContributorStore,
                    displayInfo : true,
                    displayMsg : 'Displaying <b>{0} - {1} of {2}</b>',
                    emptyMsg : "No Task Contributors to display"
                }),
                listeners : {
                    'selectionchange' : function (view, records) {
                        grid.down('#removeTASK_CONTRIBUTOR').setDisabled(!records.length);
                    }
                }
                
            });
    
    //});
    }
    Response Times


    IE 8

    LOG: 1 Wed Oct 24 17:47:25 2012
    LOG: Define Model Wed Oct 24 17:47:25 2012
    LOG: Define Store Wed Oct 24 17:47:25 2012
    LOG: Define Grid Edit Wed Oct 24 17:47:25 2012
    LOG: Build Grid 1 Wed Oct 24 17:47:25 2012
    LOG: Build Grid 2 Wed Oct 24 17:47:25 2012
    LOG: Build Grid 3 Wed Oct 24 17:47:26 2012
    LOG: Build Grid 4 Wed Oct 24 17:47:26 2012
    LOG: 2 Wed Oct 24 17:47:27 2012

    LOG: 1 Wed Oct 24 17:47:31 2012
    LOG: Define Model Wed Oct 24 17:47:31 2012
    LOG: Define Store Wed Oct 24 17:47:31 2012
    LOG: Define Grid Edit Wed Oct 24 17:47:31 2012
    LOG: Build Grid 1 Wed Oct 24 17:47:31 2012
    LOG: Build Grid 2 Wed Oct 24 17:47:31 2012
    LOG: Build Grid 3 Wed Oct 24 17:47:32 2012
    LOG: Build Grid 4 Wed Oct 24 17:47:33 2012
    LOG: 2 Wed Oct 24 17:47:33 2012

    LOG: 1 Wed Oct 24 17:47:35 2012
    LOG: Define Model Wed Oct 24 17:47:35 2012
    LOG: Define Store Wed Oct 24 17:47:35 2012
    LOG: Define Grid Edit Wed Oct 24 17:47:35 2012
    LOG: Build Grid 1 Wed Oct 24 17:47:35 2012
    LOG: Build Grid 2 Wed Oct 24 17:47:37 2012
    LOG: Build Grid 3 Wed Oct 24 17:47:37 2012
    LOG: Build Grid 4 Wed Oct 24 17:47:39 2012
    LOG: 2 Wed Oct 24 17:47:39 2012

    LOG: 1 Wed Oct 24 17:47:41 2012
    LOG: Define Model Wed Oct 24 17:47:41 2012
    LOG: Define Store Wed Oct 24 17:47:41 2012
    LOG: Define Grid Edit Wed Oct 24 17:47:41 2012
    LOG: Build Grid 1 Wed Oct 24 17:47:41 2012
    LOG: Build Grid 2 Wed Oct 24 17:47:42 2012
    LOG: Build Grid 3 Wed Oct 24 17:47:42 2012
    LOG: Build Grid 4 Wed Oct 24 17:47:43 2012
    LOG: 2 Wed Oct 24 17:47:44 2012


    Firefox

    1 Wed Oct 24 2012 17:48:37 GMT+0100 (GMT Daylight Time)
    Define Model Wed Oct 24 2012 17:48:37 GMT+0100 (GMT Daylight Time)
    Define Store Wed Oct 24 2012 17:48:37 GMT+0100 (GMT Daylight Time)
    Define Grid Edit Wed Oct 24 2012 17:48:37 GMT+0100 (GMT Daylight Time)
    Build Grid 1 Wed Oct 24 2012 17:48:37 GMT+0100 (GMT Daylight Time)
    Build Grid 2 Wed Oct 24 2012 17:48:37 GMT+0100 (GMT Daylight Time)
    Build Grid 3 Wed Oct 24 2012 17:48:37 GMT+0100 (GMT Daylight Time)
    Build Grid 4 Wed Oct 24 2012 17:48:37 GMT+0100 (GMT Daylight Time)
    2 Wed Oct 24 2012 17:48:38 GMT+0100 (GMT Daylight Time)


    1 Wed Oct 24 2012 17:49:09 GMT+0100 (GMT Daylight Time)
    Define Model Wed Oct 24 2012 17:49:09 GMT+0100 (GMT Daylight Time)
    Define Store Wed Oct 24 2012 17:49:09 GMT+0100 (GMT Daylight Time)
    Define Grid Edit Wed Oct 24 2012 17:49:09 GMT+0100 (GMT Daylight Time)
    Build Grid 1 Wed Oct 24 2012 17:49:09 GMT+0100 (GMT Daylight Time)
    Build Grid 2 Wed Oct 24 2012 17:49:09 GMT+0100 (GMT Daylight Time)
    Build Grid 3 Wed Oct 24 2012 17:49:10 GMT+0100 (GMT Daylight Time)
    Build Grid 4 Wed Oct 24 2012 17:49:10 GMT+0100 (GMT Daylight Time)
    2 Wed Oct 24 2012 17:49:10 GMT+0100 (GMT Daylight Time)


    Any help/tips would be greatly appreciated.

    Cheers

    Paul

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    37,327
    Answers
    3540
    Vote Rating
    850
    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


    IE will be slower than Firefox and Chrome. How many records are in the store?
    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.

  3. #3
    Sencha User
    Join Date
    Sep 2012
    Posts
    3
    Vote Rating
    3
    pturley is on a distinguished road

      2  

    Default


    Hi realise IE will be slower that other browsers, but that is not something I can suggest as a resolution to the product users.

    The store is not being loaded in the code above, it has been commented out.

    Regards

    Paul

Thread Participants: 1