如何在magento中创建网格列选择选项


how to create option for grid column select in magento

我想为magento管理面板中的网格列创建选择类型。inside _prepareColumns() function

protected function _prepareColumns()
    {
        if (!$this->getCategory()->getProductsReadonly()) {
            $this->addColumn('in_category', array(
                'header_css_class' => 'a-center',
                'type'      => 'checkbox',
                'name'      => 'in_category',
                'values'    => $this->_getSelectedProducts(),
                'align'     => 'center',
                'index'     => 'entity_id'
            ));
        }
        $this->addColumn('entity_id', array(
            'header'    => Mage::helper('catalog')->__('ID'),
            'sortable'  => true,
            'width'     => '60',
            'index'     => 'entity_id'
        ));
        $this->addColumn('name', array(
            'header'    => Mage::helper('catalog')->__('Name'),
            'index'     => 'name'
        ));
        $this->addColumn('position', array(
            'header'    => Mage::helper('catalog')->__('Position'),
            'width'     => '1',
            'type'      => 'select',
            'index'     => 'position',
            'editable'  => !$this->getCategory()->getProductsReadonly()
            //'renderer'  => 'adminhtml/widget_grid_column_renderer_input'
        ));
        return parent::_prepareColumns();
    }

Magento使用addColumn()函数创建网格列,我想创建一个选择类型的列,但我不知道如何提供选项

Grid.php

$this->addColumn('state', array(
            'header' => Mage::helper('modulename')->__('State'),
            'index' => 'state',
            'type' => 'options',
            'options'=> Mage::getModel('modulename/customerstate')->getStates()
            ));
模型/Customerstate.php

public function getStates() {
        $statesArray = array();
        foreach($this->getCollection() as $state){
            $statesArray[$state->getId()] = $state->getState();
        }
        return $statesArray;
    }