2017-09-29 3 views
1

Je suis un problème avec mes programmes Coldfusion Grille est sur plusieurs pages, où les grilles ne seront pas afficher. A l'origine, nous obtenions une erreur "'EXT' is undefined", mais lors de la mise à jour de notre fichier de scripts, nous obtenons maintenant un "Object ne supporte pas la propriété ou la méthode 'AddFill'". Je suis relativement nouveau dans ce programme, et nous n'avons accès à aucun des anciens développeurs pour poser des questions, mais d'après ce que je peux comprendre, nous utilisons ext.PagingToolbar.AddFill() pour ajouter des boutons supplémentaires à une barre d'outils personnalisée sous le cfgrid.objet ne supporte pas la propriété ou la méthode « addFill »

Ma question pour vous tous est ce que je peux faire pour le code ci-dessous pour corriger la grille ne pas afficher?

code CFGRID:

<cfgrid name="userGrid" 
         format="html" 
         pagesize="20" 
         preservePageOnSort="true" 
         bind="cfc:auto_report.UserService.getAllUsers({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection},'#session.cycle#','#session.user_display#',{[email protected]},{[email protected]},{[email protected]},{search_org})" 
         sort="true" 
         stripeRows="true"> 
        <cfgridcolumn name="userId" header="User Id" width="200" /> 
        <cfgridcolumn name="fname" header="First Name" width="150" /> 
        <cfgridcolumn name="lname" header="Last Name" width="150" /> 
        <cfgridcolumn name="org_name" header="Org Name" width="150" /> 
        <cfgridcolumn name="email" header="Email" width="200" /> 
        <cfgridcolumn name="access_level" header="Permissions" width="140" /> 
        <cfgridcolumn name="activity_status" header="Active" /> 
        <cfgridcolumn name="locked" header="Locked" /> 
       </cfgrid> 

En-tête JS:

function initGrid(){ 
//grid 
var grid = ColdFusion.Grid.getGridObject("userGrid"); 
// grid data 
var ds = grid.getStore(); 
ColdFusion.Grid.hideBottomToolbar('userGrid'); 

    // number of records display 
    var FtrPge = new Ext.PagingToolbar ({ 
     renderTo: grid.bbar, 
     pageSize: 20, 
     store: ds, 
     displayInfo: true, 
     displayMsg: '<font color="black">Now Showing Grid Rows {0}-{1}&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;Total Grid Rows Returned: {2} </font>&nbsp;', 
     emptyMsg: "No Matching Data Found" 
     }); 
     FtrPge.addFill(); 
     FtrPge.addFill(); 
     FtrPge.doLayout(); 
     grid.syncSize() 

     //double click 
     grid.on("rowdblclick", showUserForm); 
     //var updStyl = setActiveStyleSheet("A"); 

    //new user form button 
    FtrPge.add ('-', { 
     pressed: false, 
     enableToggle:false, 
     text: '&nbsp;&nbsp;&nbsp;', 
     icon:'/MPPT/images/icon-addNew.gif', 
     cls: 'x-btn-text-icon', 
     tooltipType: 'title', 
     tooltip: 'Add New User', 
     handler:newUser}); 
    FtrPge.doLayout(); 

    //permissions form button 
    FtrPge.add ('-', { 
     pressed: false, 
     enableToggle:false, 
     text: '&nbsp;&nbsp;&nbsp;', 
     icon:'/MPPT/images/icon-EditPermission.png', 
     cls: 'x-btn-text-icon', 
     tooltipType: 'title', 
     tooltip: 'Permissions Update: By Group', 
     handler:newPermission}); 
    FtrPge.doLayout(); 

}

Edit: Coldfusion 2016 et jsEXT 4.1

Répondre

0

Le problème semble être que, en commençant par Extjs version 4.0, il y avait des changements importants apportés à la grille de sorte qu'il n'y a plus un Ext.P Objet ageToolbar avec une méthode addFill(). Au lieu de cela, d'ajouter à remplir que vous utilisez le Ext.toolbar.PagingToolbar avec la méthode add() comme ceci:

Ext.toolbar.PagingToolbar.add('->'); 

Voir ExtJS 4.0 Docs | Ext.toolbar.PagingToolbar pour référence.