Magento 2: ¿Cómo oculto una columna de una grilla de administración?


Respuestas:


3

Puedes probar con <item name="componentDisabled" xsi:type="boolean">true</item>

Por ejemplo:

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>

Gracias @Khoa, pero quiero mostrar la columna en función de los permisos del usuario, por lo que quiero que la columna esté allí, pero que comience a ocultarse.
— dbcn

3

utilizar <item name="visible" xsi:type="boolean">false</item> en el nodo de configuración del argumento de datos al declarar la columna

p.ej.

<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>

El único problema que el filtro no mostrará hasta que cambie la columna a visible


Gracias @Mammouth, pero esto se ve como una configuración: quiero poder cambiar la visibilidad en función del rol de los usuarios, por lo que tendría que verificarlo en el código.
— dbcn

acl no fue creado para esto ... pero para imitar algo similar acaba de extender anulación / Magento_Ui/view/base/web/js/grid/columns/column.jscon su lógica de negocio
— Mammouth

De lo contrario, creo que sería bueno abrir un nuevo hilo a su problema actual (ocultar la columna por la configuración de la función del usuario), porque este ya resuelto
— Mammouth

@Mammouth, pero el filtro debería ser visible, ¿solo podemos escondernos de la columna?
— Jafar pinjar

1

Agregue el siguiente código en su ui xml para eliminar columnas

<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>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.