Fatal error: Call to a member function setColumn() on a non-object in Magento
admin, gridview, magento-1.7, renderer
Solution
probably the `renderer class` not found. try with
'renderer' => 'troy_giftcard/adminhtml_giftcard_idrenderer',
Problem
Fatal error: Call to a member function setColumn() on a non-object in D:\Program Files\wamp\www\magento\app\code\core\Mage\Adminhtml\Block\Widget\Grid\Column.php on line 291 in admin grid section i used this columns details ``` protected function _prepareColumns() { $this->addColumn('giftcard_id', array( 'header' => 'ID', 'align' => 'right', 'width' => '50px', 'index' => 'giftcard_id', )); $this->addColumn('giftcard_id', array( 'header' => 'Detail', 'align' => 'center', 'width' => '150px', 'renderer' => 'giftcard/adminhtml_giftcard_idrenderer', 'index' => 'giftcard_id', )); $this->addColumn('created_time', array( 'header' => 'Creation Time', 'align' => 'left', 'width' => '120px', 'type' => 'date', 'default' => '--', 'index' => 'created_time', )); $this->addColumn('update_time', array( 'header' => 'Update Time', 'align' => 'left', 'width' => '120px', 'type' => 'date', 'default' => '--', 'index' => 'update_time', )); $this->addColumn('status', array( 'header' => 'Status', 'align' => 'left', 'width' => '80px', 'index' => 'status', 'type' => 'options', 'options' => array( 1 => 'Active', 0 => 'Inactive', ), )); $this->addColumn('action', array( 'header' => Mage::helper('giftcard')->__('Action'), 'width' => '50px', 'type' => 'action', 'getter' => 'getId', 'actions' => array( array( 'caption' => Mage::helper('giftcard')->__('Delete'), 'url' => array('base'=>'*/*/delete'), 'field' => 'id' ) ), 'filter' => false, 'sortable' => false, 'is_system' => true, )); return parent::_prepareColumns(); } ``` in giftcard/adminhtml_giftcard_idrenderer i used the following code ``` class Troy_Giftcard_Block_Adminhtml_Giftcard_Idrenderer extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract { public function render(Varien_Object $row) { $value = $row->getData($this->getColumn()->getIndex()); $html = 'testing-'.$value .'-testing'; return $html; } } ``` I got this error when i use the ``` $this->addColumn('giftcard_id', array( 'header' => 'Detail', 'align' => 'center', 'width' => '150px', 'renderer' => 'giftcard/adminhtml_giftcard_idrenderer', 'index' => 'giftcard_id', )); ``` any one can help me how to fix it Advance Thanks