2010-10-19 12 views
26

J'utilise Extjs gridPanel pour afficher des données. Je souhaite afficher le message "Pas de données ..." dans gridPanel lorsqu'aucune donnée n'est disponible. Comment faire cela?Message vide dans gridPanel

J'ai essayé la propriété emptyText mais cela n'a pas fonctionné.

Je pense que emptyText est pour gridView pas pour gridPanel.

S'il vous plaît aidez-moi comment afficher un message de données vide dans GridPanel (j'utilise la grille GridPanel pas vue)

Répondre

44

Vous avez répondu à votre propre question -. Il est en effet une propriété GridView. Donc, pour le préciser dans le GridPanel (qui utilise un GridView interne) il suffit de faire ceci:

myGrid = new Ext.GridPanel({ 
    viewConfig: { 
     emptyText: 'No records' 
    } 
}); 

par les commentaires ci-dessous, vous pouvez également inclure deferEmptyText: false dans le viewConfig pour le texte de rendre immédiatement (sinon il attend jusqu'après la charge initiale du magasin est terminée).

+2

Il semble que vous pourriez avoir besoin d'appeler "refresh" sur la vue de la grille (et de la différer) afin de voir le message vide: par exemple. 'myGrid.view.refresh.defer (1,, myGrid.view);' voir [forum sencha] (http://www.sencha.com/forum/showthread.php?109611-OPEN-1262-3.3-GridView- emptyText-not-working-at-several-levels.) –

+12

Comme le mentionne aussi le lien par ** Mark Rhodes **, vous pouvez configurer votre 'viewConfig' pour inclure également le paramètre' deferEmptyText: false' qui affichera le texte vide immédiatement. – Chau

+8

Est venu ici d'une recherche google, je veux juste souligner que cela fonctionne encore dans Ext4 (4.0.7 pour être précis) –