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>
Khoa TruongDinh
la source
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

Mammouth
la source
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>
Arvind Hathiya
la source