Reputation: 3836
I want to add a new column in Product Grid in Magento 2. I have created di.xml
file in module etc
folder with the below code:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">
<preference for="Magento\Catalog\Block\Adminhtml\Product\Grid" type="Package\Module\Block\Grid" />
</config>
In The Grid
block, I have the below code:
namespace Package\Module\Block;
use Magento\Store\Model\Store;
class Grid extends \Magento\Catalog\Block\Adminhtml\Product\Grid
{
protected function _prepareColumns()
{
$this->addColumn(
'newfield',
[
'header' => __('Test Name'),
'index' => 'name',
'class' => 'xxx'
]
);
return parent::_prepareColumns();
}
}
Can someone guide me for this.
Upvotes: 0
Views: 4771
Reputation: 318
Just add fieldClass property to the column configuration:
<column name="column_name">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="fieldClass" xsi:type="string">xxx-class-name</item>
</item>
</argument>
</column>
Upvotes: 0
Reputation: 536
you can add using product_listing.xml view\adminhtml\ui_component\product_listing.xml
<?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">
<columns name="product_columns" class="Magento\Catalog\Ui\Component\Listing\Columns">
<column name="new_field">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="add_field" xsi:type="boolean">true</item>
<item name="label" xsi:type="string" translate="true">Ne Field</item>
<item name="sortOrder" xsi:type="number">75</item>
</item>
</argument>
</column>
</columns>
</listing>
Upvotes: 1