It’s not common that you have to display something that’s not in the Magento database. It was not too difficult to figure out how to do it but checking this might save you few minutes.

Feel free to download the code itself:

Virtual grid package structure

In the Grid.php I create a Varien_Data_Collection object:

protected function _prepareCollection()
        $collection = new Varien_Data_Collection();
        foreach (array('alpha','beta','charlie') as $item) {
            $data = new Varien_Object();

…then just use it in the _prepareColumns():

protected function _prepareColumns()
                'header' => 'Name',
                'align' =>'left',
                'width' => '50px',
                'index' => 'name',
        return parent::_prepareColumns();

The remaining parts are just administration and normal Magento admin template handling.

Feel free to ask questions on the included e-mail address (check file headers).