CTreeView filter/update

Hi

Does anyone know if there a way to filter data inside de widget CTreeView like in the CGridView ?

My goal is to load data in the treeview depending on a dropdownlist

I need to select group in a dropdownlist and then, display data of a selected group in the treeview

thank you

Here is my _treeview.php view




<?php

$this->widget('CTreeView',array(    

		'id'=>'myTreeView',    

		'url'=>$urlTreeView,

		//'data'=>$dataTreeView,

        'animated'=>'fast', //quick animation

        'collapsed'=>false,//remember must giving quote for boolean value in here

        'htmlOptions'=>array(

                'class'=>'treeview-famfamfam',//there are some classes that ready to use gray black red famfamfam

        ),

));?>

Here is the view with the dropdownlist




$form=$this->beginWidget('CActiveForm', 

array(

'id'=>'_ligneComboBox',

'enableAjaxValidation'=>false,

)); 


echo CHtml::dropDownList(	

    'groupeId', //cbxName

    '', //selected value

    CHtml::listData($dataGroupe,'id','nom'), array( //data

         'ajax' => array(

         'type'=>'POST', //request type

         'url'=>CController::createUrl('manage/getSitesFromGroupe'), //url to call.

         'update'=>'#siteId', //selector to update

                   ),

         'prompt'=>'Groupes',

         'onchange'=>'',

         ),

         array()

    ); 

				

				 

//empty since it will be filled by the other dropdown

echo CHtml::dropDownList(	

    'siteId', //cbxName

    '', // selected value

    array(), //data will be set by groupeID

    array(	

       'ajax' => array(						

            'type'=>'POST', 

            'url'=>CController::createUrl('manage/renderTreeView'),

            'update'=>'#divTreeView',

             ),

       'prompt'=>'Sites',

       //'onchange'=>'javascript:alert(2)',

       )

   ); 

      

$this->endWidget(); 



Here is a part of the controlleur




public function actionRenderTreeView($filtre=''){    			

		$urlTreeView = $this->createUrl('manage/remplisTreeView');

		 

		$cManageComponent = new ManageComponent();

		$dataTreeView = $cManageComponent->getTreeViewDatas($filtre);

		

		 $this->renderPartial('_treeView',array('urlTreeView'=>$urlTreeView));				

	}



And then the components




public function getTreeViewDatas($filtre=''){

		// partie _treeView

		$cGroupeComponent = new GroupeComponent();

		if($filter==''){

			$mySearch = new GroupeVO;

			$mySearch->nom = $filtre;

			$groupes = $cGroupeComponent->getGroupeSearch($mySearch);	

		} else {

			$groupes = $cGroupeComponent->getGroupes();

		}		


		$tableauTreeView = null;

		foreach ((array)$groupes as $groupe)		

		{		

			$tableauSite = null;			

			foreach((array)$groupe->sites as $site){

				foreach((array)$site->applications as $app){

					$tableauAppli[] = array('text'=>$app->repertoire.' '.$app->commentaire);

				}

				

				$tableauSite[] = array('text'=>$site->nom.' ( '.count($site->applications).' application'.(count($site->applications)>1?'s':'').' )', 'children'=>$tableauAppli);

				//echo '</blockquote>';

			}

			

$tableauTreeView[] = array('text'=>$groupe->nom.' ( '.count($groupe->sites).' site'.(count($groupe->sites)>1?'s':'').' )', 'children'=>$tableauSite);

}

				

$dataTreeView = CTreeView::saveDataAsJson($tableauTreeView);							

return ($dataTreeView);

	} 



seb

up…

any ideas ?

hi

i want to refresh (Update) my CTreeView when data inserted in db…

any one can help me about this issue?

thanks