2

I have created custom grid. All data is displayed in grid as expected. I need to export grid data in csv. data from main table is exported but its not exporting custom rendered data.

e.g all following columns in my listing.xml are displaying right data in grid. but in exported csv no data is displayed in postcode column, all values in csv for postcode column are blank.

    <column name="created_at" class="Magento\Ui\Component\Listing\Columns\Date">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="filter" xsi:type="string">dateRange</item>
                <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
                <item name="dataType" xsi:type="string">date</item>
                <item name="label" xsi:type="string" translate="true">Purchase Date</item>
            </item>
        </argument>
    </column>
    <column name="shipping_name">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="filter" xsi:type="string">text</item>
                <item name="label" translate="true" xsi:type="string">Name</item>
            </item>
        </argument>
    </column>
    <column name="postcode" class="Vendor\Module\Ui\Component\Listing\Column\Reference">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="filter" xsi:type="string">text</item>
                <item name="label" translate="true" xsi:type="string">Postcode</item>
            </item>
        </argument>
    </column>

My grid enter image description here

My csv enter image description here

Meshan Raza
  • 89
  • 2
  • 13

1 Answers1

0

It seems it doesn't work when you provide filter config directly in column definition. Try to move your filter config in listing top node:

<?xml version="1.0" encoding="UTF-8"?>
<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
    <listingToolbar name="listing_top">
        <filters name="listing_filters">
            <filterInput name="magasin_id">
                <argument name="data" xsi:type="array">
                    <item name="config" xsi:type="array">
                        <item name="label" xsi:type="string" translate="true">Postcode</item>
                    </item>
                </argument>
            </filterInput>
        </filters>
    </listingToolbar>
    <columns name="customer_columns">
        <column name="created_at" class="Magento\Ui\Component\Listing\Columns\Date">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="filter" xsi:type="string">dateRange</item>
                    <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
                    <item name="dataType" xsi:type="string">date</item>
                    <item name="label" xsi:type="string" translate="true">Purchase Date</item>
                </item>
            </argument>
        </column>
        <column name="shipping_name">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="filter" xsi:type="string">text</item>
                    <item name="label" translate="true" xsi:type="string">Name</item>
                </item>
            </argument>
        </column>
        <column name="postcode" class="Vendor\Module\Ui\Component\Listing\Column\Reference">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" translate="true" xsi:type="string">Postcode</item>
                </item>
            </argument>
        </column>
    </columns>
</listing>

This solution works for me in Magento 2.1.11.

Pang
  • 9,564
  • 146
  • 81
  • 122