Magento 2: Ändern Sie die Spaltenbreite des Admin-Rasters


7

Ich habe ein Administrationsraster mithilfe der UI-Komponente in meinem benutzerdefinierten Modul hinzugefügt. Jetzt möchte ich die Spaltenbreite des Admin-Rasters ändern.

Dies ist der Code, den ich zum Hinzufügen einer Spalte im Admin-Raster verwende:

 <column name="product_title">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="editor" xsi:type="array">
                <item name="editorType" xsi:type="string">text</item>
                <item name="validation" xsi:type="array">
                    <item name="required-entry" xsi:type="boolean">true</item>
                </item>
            </item>
            <item name="filter" xsi:type="string">text</item>
            <item name="label" xsi:type="string" translate="true">Title</item>
            <item name="sortOrder" xsi:type="number">20</item>
        </item>
    </argument>
</column>

Bitte hilf mir


Antworten:


1

Es kann hilfreich sein, Ihnen nur ein Beispiel zu geben, das Sie wie in der neuen Version von Magento verwenden können.

<block class="Magento\Backend\Block\Widget\Grid\Column" as="package">
                        <arguments>
                            <argument name="header" xsi:type="string" translate="true">Design</argument>
                            <argument name="type" xsi:type="string">options</argument>
                            <argument name="options" xsi:type="options" model="Magento\Framework\View\Design\Theme\Label\Options"/>
                            <argument name="width" xsi:type="string">150px</argument>
                            <argument name="index" xsi:type="string">design</argument>
                        </arguments>
                    </block>

Sie können width als Argument in XML anzeigen

<argument name="width" xsi:type="string">150px</argument>

Auch wenn Sie strengen UI-Komponenten folgen müssen, können Sie die Komponente Größe ändern verwenden.

Beispiel vom Quelllink

<column name="creation_time">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="resizeEnabled" xsi:type="boolean">true</item>
            <item name="resizeDefaultWidth" xsi:type="string">60</item>
        </item>
    </argument>
</column>

hoffe es wird für dich funktionieren


Dies wird für die Grid-UI-Komponente verwendet.
Khoa TruongDinh

1
ah, kann auch devdocs.magento.com/guides/v2.0/ui-components/… Größe der Komponenten ändern
liyakat

1
Immer noch keine Änderung in meiner Spaltenbreite. :-(
EB

1
Ich stehe auch vor dem gleichen Problem. Bitte helfen Sie.
Vindhuja

devdocs.magento.com/guides/v2.0/ui-components/… Folgen Sie diesem Schritt für Schritt. Ich bin sicher, Sie werden es schaffen
liyakat

1

Sie können resizeDefaultWidth verwenden , um die Spalte mit zu ändern. Erforderlich resizeEnabled = false ,

Beispielcode hier.

<actionsColumn name="actions" class="Magento\Search\Ui\Component\Listing\Column\SynonymActions">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="resizeEnabled" xsi:type="boolean">false</item>
                    <item name="resizeDefaultWidth" xsi:type="string">107</item>
                </item>
            </argument>
        </actionsColumn>

1

Derzeit erfordert die einzige funktionierende Lösung unter Magento 2.3.2 das Hinzufügen einer Konfiguration in zwei Schritten in der List (Grid) UI-Komponente :

  1. Setup resizeConfigfür Spaltenkonfiguration.
  2. Setup resizeDefaultWidthfür bestimmte Spalte.
  3. Setup resizeEnabledfür bestimmte Spalte (optional).

Hier ist ein Beispiel:

<?xml version="1.0" encoding="UTF-8"?>    
<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Ui/etc/ui_configuration.xsd">
    <columns name="columns">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="resizeConfig" xsi:type="array">
                    <item name="enabled" xsi:type="boolean">true</item><!-- This is required configuration -->
                </item>
            </item>
        </argument>
        <column name="column_name">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="resizeEnabled" xsi:type="boolean">false</item><!-- "true" allows admin user to change column width (default value); "false" - disallows admin user to change column width -->
                    <item name="resizeDefaultWidth" xsi:type="number">100</item><!-- needed column width in pixels -->
                </item>
            </argument>
        </column>
    </columns>
</listing>

Die Antwort, warum dies nur so funktioniert, wie ich es beschrieben habe, ist in der JS-Funktion initResize .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.