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.