Tengo el siguiente código donde muestro un CGridView con un campo CheckBox y un DropDown.
[html] <div class="row">
<?php
$criteria = new CDbCriteria();
//Queremos mostrar las Acciones Promocionadas de este año
$criteria->condition = "ano=$añoActual";
$datos=new CActiveDataProvider('AccionPromocionada', array('criteria'=>$criteria));
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$datos,
'columns'=>array(
array('class'=>'CCheckBoxColumn',
'header'=>'',
'checked'=>'',
'selectableRows'=>8,
'id'=>'accionPromocionada',
),
array('header'=>'Acciones promocionadas',
'name'=>'descripcion',
'value'=>'$data->descripcion'),
//Agregamos la columna con todas las empresas homologadas.
array('name' =>'Empresa Seleccionada',
'type' => 'raw',
'value'=>function($data) { //*the closure that works*
return '<div id="homologada[]">'.CHtml::dropDownList("empresaHomologada[]","empresaHomologada",CHtml::listData(EmpresaHomologada::model()->findAll(),"id", "nombre")).'</div>';
},
))));
?> <!-- Fin listado Acciones Promocionadas -->
</div>
[/html]
Para guardarlo en el Create no tengo problemas. El problema es cuando me da un error en otro campo del formulario o quiero hacer un Update, en cuyo caso no sé cómo actualizar el checkbox. Los datos los tengo en una variable array: $accionPromocionada.
También necesito poder actualizar los valores del Dropdown.