Skip to main content
2 of 2
deleted 371 characters in body
Herve Tribouilloy
  • 7.8k
  • 2
  • 14
  • 28

It is quite simple and the reason is that you don't need any new data to make the job. you may create a custom module in app/code/Vendor/OrderGrid .. (see screenshot of my module enter image description here

mine was Mbs/OrderGrid) In the file sales_order_grid.xml you can define your column

select select Required

the class Mbs\OrderGrid\Ui\Component\Listing\Column\OrderStatusRenderer is what you need to get right:

    class OrderStatusRenderer extends \Magento\Ui\Component\Listing\Columns\Column
    {
        /**
         * Prepare Data Source
         *
         * @param array $dataSource
         * @return array
         */
        public function prepareDataSource(array $dataSource)
        {
            if (isset($dataSource['data']['items'])) {
                foreach ($dataSource['data']['items'] as & $item) {
                    if ($this->getData('name') === 'status') {
                        if ($item[$this->getData('name')] == 'complete') {
  $result = 'Yes';
} else {
  $result = 'No';
}
    
                        $item[$this->getData('name')] = $result;
                    }
                }
            }
    
            return $dataSource;
        }
    }

hopefully, these infos answer your question

Herve Tribouilloy
  • 7.8k
  • 2
  • 14
  • 28