I have created a custom grid and trying to add export button for it.
here is the code i used in my listing.xml file.
<exportButton class="Magento\Ui\Component\ExportButton">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="options" xsi:type="array">
<item name="cvs" xsi:type="array">
<item name="value" xsi:type="string">csv</item>
<item name="label" xsi:type="string" translate="true">CSV</item>
<item name="url" xsi:type="string">mui/export/gridToCsv</item>
</item>
<item name="xml" xsi:type="array">
<item name="value" xsi:type="string">xml</item>
<item name="label" xsi:type="string" translate="true">Excel XML</item>
<item name="url" xsi:type="string">mui/export/gridToXml</item>
</item>
</item>
</item>
</argument>
</exportButton>
Once i click the export button i am getting below error.
"Notice: Undefined index: attributes in /vendor/magento/framework/View/Element/UiComponentFactory.php on line 166"
Update:
Full code of my listing.xml file.
<?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">
<!-- Integration -->
<argument name="data" xsi:type="array">
<item name="js_config" xsi:type="array">
<!-- we define a provider -->
<item name="provider" xsi:type="string">catalogreport_manage_listing.catalogreport_manage_listing_data_source</item>
<!-- same string as above -->
<item name="deps" xsi:type="string">catalogreport_manage_listing.catalogreport_manage_listing_data_source</item>
</item>
<!-- define column type -->
<item name="spinner" xsi:type="string">catalogreport_manage_columns</item>
</argument>
<!-- Data source -->
<dataSource name="catalogreport_manage_listing_data_source">
<argument name="dataProvider" xsi:type="configurableObject">
<argument name="class" xsi:type="string">ManageGridDataProvider</argument> <!-- Data provider class -->
<argument name="name" xsi:type="string">catalogreport_manage_listing_data_source</argument> <!-- provider defined above -->
<argument name="primaryFieldName" xsi:type="string">item_id</argument> <!-- Primary key -->
<argument name="requestFieldName" xsi:type="string">id</argument> <!-- URL name parameter -->
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
<item name="update_url" xsi:type="url" path="mui/index/render"/>
<item name="storageConfig" xsi:type="array">
<!-- Primary key column name -->
<item name="indexField" xsi:type="string">item_id</item>
</item>
</item>
</argument>
</argument>
</dataSource>
<!-- Container Listing Top -->
<container name="listing_top">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="template" xsi:type="string">ui/grid/toolbar</item>
</item>
</argument>
<bookmark name="bookmarks" />
<columnsControls name="columns_controls" />
<filters name="listing_filters" />
<!-- Paging -->
<paging name="listing_paging">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="storageConfig" xsi:type="array">
<item name="provider" xsi:type="string">catalogreport_manage_listing.catalogreport_manage_listing.listing_top.bookmarks</item>
<item name="namespace" xsi:type="string">current.paging</item>
</item>
<item name="selectProvider" xsi:type="string">catalogreport_manage_listing.catalogreport_manage_listing.catalogreport_manage_columns.ids</item>
<item name="displayArea" xsi:type="string">bottom</item>
</item>
</argument>
</paging>
<exportButton class="Magento\Ui\Component\ExportButton">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="options" xsi:type="array">
<item name="csv" xsi:type="array">
<item name="value" xsi:type="string">csv</item>
<item name="label" xsi:type="string" translate="true">CSV</item>
<item name="url" xsi:type="string">mui/export/gridToCsv</item>
</item>
<item name="xml" xsi:type="array">
<item name="value" xsi:type="string">xml</item>
<item name="label" xsi:type="string" translate="true">Excel XML</item>
<item name="url" xsi:type="string">mui/export/gridToXml</item>
</item>
</item>
</item>
</argument>
</exportButton>
</container>
<!-- Columns -->
<columns name="catalogreport_manage_columns">
<column name="increment_id" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">true</item>
<item name="label" xsi:type="string" translate="true">Order number</item>
</item>
</argument>
</column>
<column name="sku">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<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="label" xsi:type="string" translate="true">SKU</item>
</item>
</argument>
</column>
<column name="customer_email" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Email</item>
</item>
</argument>
</column>
<column name="weee_tax_applied_amount" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Street</item>
</item>
</argument>
</column>
<column name="weee_tax_applied_row_amount" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">City</item>
</item>
</argument>
</column>
<column name="weee_tax_disposition" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Postcode</item>
</item>
</argument>
</column>
<column name="weee_tax_row_disposition" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Country</item>
</item>
</argument>
</column>
<!-- new code -->
<column name="created_at">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">dateRange</item>
<item name="editor" xsi:type="string">text</item>
<item name="label" xsi:type="string" translate="true">Created At</item>
<item name="sortOrder" xsi:type="number">60</item>
</item>
</argument>
</column>
<!-- new code -->
<column name="status" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Status</item>
</item>
</argument>
</column>
<column name="name" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Product name</item>
</item>
</argument>
</column>
<column name="qty_ordered" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Quantity</item>
</item>
</argument>
</column>
<column name="shipping_amount" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Shipping amount</item>
</item>
</argument>
</column>
<column name="discount_description" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Discount code</item>
</item>
</argument>
</column>
<column name="discount_amount" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Discount</item>
</item>
</argument>
</column>
<column name="price" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Price</item>
</item>
</argument>
</column>
<column name="row_total" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Row total</item>
</item>
</argument>
</column>
<column name="grand_total" class="Vendor\Catalogreport\Ui\Component\Listing\Column\Quantity">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">false</item>
<item name="label" xsi:type="string" translate="true">Grand total</item>
</item>
</argument>
</column>
</columns>
Can anyone help me to solve this error.
Thanks