Magento 2 : Show multiple store view in admin custom module grid.

Recently, I have created custom module without UI component. I want to add store view field on that. I have added in form easily but put me in trouble little bit during grid. To show multiple store in admin custom module grid, I have used renderer and following changes in grid.php file

 Custom\Slider\Block\Adminhtml\Slide\Grid.php

$this->addColumn(
    'store_ids',
    [
        'header' => __('Store Views'),
        'index' => 'store_ids',                        
        'type' => 'store',
        'store_all' => true,
        'store_view' => true,
        'renderer'=>  'Custom\Slider\Block\Adminhtml\Slide\Edit\Tab\Renderer\Store',
        'filter_condition_callback' => [$this, '_filterStoreCondition']
    ]
);

Custom\Slider\Block\Adminhtml\Slide\Edit\Tab\Renderer\Store.php

', $scopes) . __(' [deleted]');
            return $out;
        }

        if (empty($origStores) && !$skipEmptyStoresLabel) {
            return '';
        }
        if (!is_array($origStores)) {
            $origStores = [$origStores];
        }

        if (empty($origStores)) {
            return '';
        } elseif (in_array(0, $origStores) && count($origStores) == 1 && !$skipAllStoresLabel) {
            return __('All Store Views');
        }

        $data = $this->_getStoreModel()->getStoresStructure(false, $origStores);

        foreach ($data as $website) {
            $out .= $website['label'] . '
';
            foreach ($website['children'] as $group) {
                $out .= str_repeat(' ', 3) . $group['label'] . '
';
                foreach ($group['children'] as $store) {
                    $out .= str_repeat(' ', 6) . $store['label'] . '
';
                }
            }
        }

        return $out;
    }

    /**
     * Render row store views for export
     *
     * @param \Magento\Framework\DataObject $row
     * @return \Magento\Framework\Phrase|string
     * @SuppressWarnings(PHPMD.CyclomaticComplexity)
     */
    public function renderExport(\Magento\Framework\DataObject $row)
    {
        $out = '';
        $skipAllStoresLabel = $this->_getShowAllStoresLabelFlag();
        // $origStores = $row->getData($this->getColumn()->getIndex());
        $origStores = explode(',',$row->getData($this->getColumn()->getIndex()));

        if ($origStores === null && $row->getStoreName()) {
            $scopes = [];
            foreach (explode("\n", $row->getStoreName()) as $k => $label) {
                $scopes[] = str_repeat(' ', $k * 3) . $label;
            }
            $out .= implode("\r\n", $scopes) . __(' [deleted]');
            return $out;
        }

        if (!is_array($origStores)) {
            $origStores = [$origStores];
        }

        if (in_array(0, $origStores) && !$skipAllStoresLabel) {
            return __('All Store Views');
        }

        $data = $this->_getStoreModel()->getStoresStructure(false, $origStores);

        foreach ($data as $website) {
            $out .= $website['label'] . "\r\n";
            foreach ($website['children'] as $group) {
                $out .= str_repeat(' ', 3) . $group['label'] . "\r\n";
                foreach ($group['children'] as $store) {
                    $out .= str_repeat(' ', 6) . $store['label'] . "\r\n";
                }
            }
        }

        return $out;
    }
}

Output : store view

Cheers !!!