j'utilise un framework Delphi qui propose des composants encapsulant du code Ext JS 7.5.1
par défaut le menu déroulant d'une grille affiche 3 items : le tri ascendant, le tri descendant et l'item "Colonnes" qui permet d'afficher une sous-liste pour cocher/décocher les colonnes visibles de la grille. J'ajoute à ce menu "par défaut" 2 checkbox supplémentaires de Tri et de Filtre comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function beforerender(sender, eOpts)
{
   var menu = this.headerCt.getMenu(); 
 
   // désactive les menus de tri
   //menu.items.get("ascItem").hide(true);  
   //menu.items.get("descItem").hide(true);   
 
   // ajoute le menu pour le tri et le filtre
   menu.add(
      [
         {
            itemId: 'checkSortMenuItem',
            text: 'Tri', 
            checked: false, 
            handler: function() {
              ajaxRequest(sender, 'OnTriChange', ['checked='+this.checked.toString()]);
            }
         },
         {                            
            itemId: 'checkFilterMenuItem',
            text: 'Filtre', 
            checked: false, 
            handler: function() {
            ajaxRequest(sender, 'OnFiltreChange', ['checked='+this.checked.toString()]);
            }
         }
      ]
   );
}
Jusqu'ici tout va bien. Mais quand je clique sur la case à cocher "Tri" (ou "Filtre") alors le menu déroulant n'affiche plus l'item "Colonnes", même en cliquant sur une autre entête de colonne.
Comment réafficher le menu déroulant "en entier" par code avec Ext JS (version 7.5.1) et dans quel évènement ?