Magento 2: Comment masquer une colonne d'une grille d'administration?


Réponses:


3

Vous pouvez essayer avec <item name="componentDisabled" xsi:type="boolean">true</item>

Par exemple:

Vendor/Module/view/adminhtml/ui_component/product_form.xml

<field name="backorders">
    <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="componentDisabled" xsi:type="boolean">true</item>
            </item>
    </argument>
</field>

Merci @Khoa, mais je veux afficher la colonne en fonction des autorisations de l'utilisateur, donc je veux que la colonne soit là, mais pour commencer cachée.
— dbcn

3

utiliser <item name="visible" xsi:type="boolean">false</item> dans le nœud de configuration de l'argument de données lors de la déclaration de la colonne

par exemple.

<column name="created_at">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="resizeEnabled" xsi:type="boolean">false</item>
            <item name="filter" xsi:type="string">dateRange</item>
            <item name="sorting" xsi:type="string">desc</item>
            <item name="label" xsi:type="string" translate="true">Created at</item>
            <item name="sortOrder" xsi:type="number">120</item>
            <item name="visible" xsi:type="boolean">false</item>
        </item>
    </argument>
</column>

le seul problème que le filtre ne montrera pas jusqu'à ce que vous remettez la colonne visible


Merci @Mammouth, mais cela ressemble à un paramètre de configuration - je veux pouvoir changer la visibilité en fonction du rôle des utilisateurs, il devrait donc le vérifier dans le code.
— dbcn

acl n'a pas été créé pour cela ... mais pour imiter quelque chose de similaire, étendez / remplacez simplement Magento_Ui/view/base/web/js/grid/columns/column.jsvotre logique métier
— Mammouth

Sinon, je pense qu'il serait bon d'ouvrir un nouveau fil à votre problème actuel (masquer la colonne par les paramètres de rôle d'utilisateur), car celui-ci a déjà été résolu
— Mammouth

@Mammouth, Mais le filtre devrait être visible, seulement pouvons-nous nous cacher de la colonne?
— jafar pinjar

1

Ajoutez le code ci-dessous dans votre ui xml pour supprimer les colonnes

<column name="name_of_column">
          <argument name="data" xsi:type="array">
               <item name="config" xsi:type="array">
               <item name="componentDisabled" xsi:type="boolean">true</item>
           </item>
      </argument>
</column>
<field name="name_of_column">
          <argument name="data" xsi:type="array">
               <item name="config" xsi:type="array">
               <item name="componentDisabled" xsi:type="boolean">true</item>
           </item>
      </argument>
</field>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.