comment faire pour afficher/ masquer la colonne dans un extjs 3 de la grille de panneau
J'ai une grille de panneau, j'ai besoin d'afficher /masquer des colonnes dans un panneau grille en fonction de la valeur d'une case à cocher. Si la case est cochée j'ai besoin d'afficher la colonne dans la grille, et si elle est décochée j'ai besoin de masquer la colonne dans la grille.
Voici mon code
var chkEnableDisplayResponsibilityForAction = '<%=Session["chkEnableDisplayResponsibilityForAction"]%>';
var flags = Boolean.parse(chkEnableDisplayResponsibilityForAction);
var flags1 = !Boolean.parse(chkEnableDisplayResponsibilityForAction)
var colModel = new Ext.grid.ColumnModel([
{ header: "PricePlanID", width: 100, sortable: true, dataIndex: 'PricePlanID', hidden: flags, hideable: flags1 },
]);
lorsque j'actualise la page, je ne suis pas en mesure de basculer les colonnes en fonction de la valeur de la case. Mais quand je me connecter et se déconnecter, je suis en mesure de voir les changements dans le panneau grille. Quelqu'un peut-il m'aider à l'actualisation des valeurs de la colonne dans la grille de panneau?
- 18k vues en deux minutes.....
- ExtJs 4: stackoverflow.com/questions/6042138/...
- Double Possible de ExtJs4 - Quel est l'équivalent de la grille ColumnModel?
Vous devez vous connecter pour publier un commentaire.
si prendre un coup d'oeil à la ExtJS API, en particulier dans la ColumModel il y a un
setHidden
méthode, il serait afficher/masquer une colonne dans uneGridPanel
.vous devez également raccorder le
onchange
événement de votre case de sorte que vous pouvez afficher ou masquer la colonneExt JS 4.1, pour masquer une colonne, vous utilisez:
Ressemble getColumnModel() avec son setHidden() la méthode n'est plus une partie de la grille:
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.de la grille.Panneau
Vous pouvez afficher/masquer les colonnes à l'aide de la colonne d'en-tête de menu, vous pouvez choisir les colonnes que vous voulez afficher. De toute façon, si vous souhaitez afficher/masquer une colonne, essayez cette
Dans ExtJS 4 accéder à votre panneau grille, puis accéder à l'colonnes attribut est un tableau de la Colonne objets.
À partir de là, vous pouvez utiliser le tableau itérateur méthodes ( http://www.diveintojavascript.com/core-javascript-reference/the-array-object ) pour effectuer une action.
Dans l'exemple ci-dessous j'ai cacher et de montrer quelques-uns des colonnes en fonction de leurs noms d'en-tête, mais vous pouvez évidemment effectuer une action fondée sur une Colonne d'attribut.
Les réponses ci-dessus, je pense, sont très bonnes.
Mais laissez-moi vous donner un conseil.
1) Dans ExtJS 4.x il est recommandé d'utiliser Ext.ComponentQuery`s méthodes à la place de Ext.getCmp()
2) Pour afficher/masquer les colonnes de la grille, vous pouvez utiliser le code suivant
ou de montrer
Il doit se résoudre masquage/affichage d'une colonne dans une grille.
Ici grille est votre réseau , il peut-être un id ou xtype etc.