Magento 1.8 – Admin Field Select Box Default Value from Database While Editing

adminformadminhtmlformsmagento-1.8

I have a problem while editing my custom admin module.

Custom module working fine but while editing I have to a display select box value as selected from database records,

I have two values and in database the datatype is enumeration. the values are

1=> image
2=> video

While editing I have to display image or video based on the database value. but I am not getting proper result here is my code.

$fieldset->addField('add_type', 'select', array(
          'label'     => Mage::helper('advertisement')->__('Media'),
          'name'      => 'add_type',
          'onchange' => 'checkSelectedItem(this.value)',
          'value'  => '',
          'values' => array(array('value'=>'0','label'=>'Select Type'),
                            array('value'=>'1','label'=>'Image'),
                            array('value'=>'2','label'=>'Video'),
                       ),
);

I have Tried this too

$recordId = Mage::registry('storeadvertisement_data')->getData();
        $selectVal = Mage::getModel('advertisement/advertisement')->load($recordId['id'])->getData('add_type');
  $fieldset->addField('add_type', 'select', array(
          'label'     => Mage::helper('advertisement')->__('Media'),
          'name'      => 'add_type',
          'onchange'  => 'checkSelectedItem(this.value)',
          'value'     => $selectVal,
          'values'    => array(array('value'=>'0','label'=>'Select Type'),
                            array('value'=>'1','label'=>'Image'),
                            array('value'=>'2','label'=>'Video'),
                       ),
);

But it did not help.

Best Answer

At the end of your form before calling return parent::_prepareForm();:

$form->addValues(Mage::registry('storeadvertisement_data')->getData());

If your form variable is not named $form, change the variable name also in the code above.