Magento 2: Como ocultar uma coluna de uma grade de administração?

Respostas:

3

Você pode tentar com <item name="componentDisabled" xsi:type="boolean">true</item>

Por exemplo:

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
fonte
Obrigado @Khoa, mas quero exibir a coluna dependendo das permissões do usuário, então quero a coluna lá, mas comece a ocultar.
dbcn
3

use <item name="visible" xsi:type="boolean">false</item> no nó de configuração do argumento de dados ao declarar a coluna

por exemplo.

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

o único problema que o filtro não será exibido até que você mude a coluna novamente para visível

Mammouth
fonte
Obrigado @Mammouth, mas isso parece uma configuração - eu quero poder alterar a visibilidade com base na função dos usuários, para que seja necessário verificar o código.
dbcn
acl não foi criado para isso ... mas para algo mímica semelhante apenas estender / override Magento_Ui/view/base/web/js/grid/columns/column.jscom sua lógica de negócios
Mammouth
otehrwise Eu acho que seria bom para abrir um novo segmento para o seu problema atual (escondendo coluna configurações da função do usuário), porque esta já resolvido
Mammouth
@ Mammouth, mas o filtro deve estar visível, apenas podemos ocultar da coluna?
jafar pinjar
1

Adicione o código abaixo em seu ui xml para remover colunas

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