public function actionIndex() { // para efectos de DEMO es necesario apuntar la base de datos // al archivo demo1.db, para tu propio caso puedes eliminar estas lineas: DemoSetup::usar('demo1'); $dataProviderProductos = new CActiveDataProvider(Producto::model(), array('keyAttribute' => 'idproducto', 'criteria' => array('condition' => 'idcategoria=-1'))); if (Yii::app()->request->isAjaxRequest) { // el update del CGridView Productos hecho en Ajax produce un ajaxRequest sobre el mismo // action que lo invoco por primera vez y el argumento fue pasado mediante {data: xxx} al // momento de hacer el update al CGridView con id 'productos' $idcategoria = $_GET[0]; Yii::log("\nAJAX_REQUEST\nPROVOCADO_POR_EL_UPDATE_AL_CGRIDVIEW_PRODUCTOS" . "\nidcategoria seleccionada es=" . $idcategoria, "info"); // actualizas el criteria del data provider para ajustarlo a lo que se pide: $dataProviderProductos->criteria = array('condition' => 'idcategoria=' . $idcategoria); // para responderle al request ajax debes hacer un ECHO con el JSON del dataprovider echo CJSON::encode($dataProviderProductos); } /* creacion del dataProvider */ $dataProvider = new CActiveDataProvider(Categoria::model(), array('keyAttribute' => 'idcategoria', 'criteria' => array(), 'pagination' => array('pageSize' => 20), 'sort' => array('defaultOrder' => array('nombre' => true)))); $this->render('index', array('dataProvider' => $dataProvider, 'dataProviderProductos' => $dataProviderProductos)); }
private function selectdb() { DemoSetup::usar("combodependiente"); }
private function selectdb() { DemoSetup::usar("democgridviewseleccionajaxaction"); }