CGridView with CStarRating filtering

Hi,

I have a problem with CstarRating in my CGridView. It’s not working when I’m trying to filtering the data. When I try to click for example two stars - nothing happens. Not filtering.

Code:

array(

'name'=>'rating',


'type'=>'raw',


'value'=>'$this->grid->controller->widget("CStarRating",


	array("starCount"=>"5",


			"minRating"=>"1",


			"maxRating"=>"5",


			"name"=>$data->id,


			"value"=>$data->rating,


			"readOnly"=>true,


			"id"=>"rating_" . $data->id,


			"htmlOptions"=>array(\'class\'=>\'StarRating\'),


			),true)',





	'filter'=>$this->widget('CStarRating',array(


		'name'=>'TblPrograms[rating]',


		'id'=>'TblPrograms_rating',


		'starCount' => '5',


		'minRating' => '1',


		'maxRating' => '5',


		


	 ), true),


),

HTML generated:

<span id="TblPrograms_rating">

<span class="star-rating-control"><div class="rating-cancel"><a title="Cancel Rating"></a></div><div class="star-rating rater-0 star-rating-applied star-rating-live star-rating-on" id="TblPrograms_rating_0"><a title="1">1</a></div><div class="star-rating rater-0 star-rating-applied star-rating-live star-rating-on" id="TblPrograms_rating_1"><a title="2">2</a></div><div class="star-rating rater-0 star-rating-applied star-rating-live" id="TblPrograms_rating_2"><a title="3">3</a></div><div class="star-rating rater-0 star-rating-applied star-rating-live" id="TblPrograms_rating_3"><a title="4">4</a></div><div class="star-rating rater-0 star-rating-applied star-rating-live" id="TblPrograms_rating_4"><a title="5">5</a></div></span><input id="TblPrograms_rating_0" value="1" type="radio" name="TblPrograms[rating]" class="star-rating-applied" style="display: none;">

<input id="TblPrograms_rating_1" value="2" type="radio" name="TblPrograms[rating]" class="star-rating-applied" style="display: none;" checked="checked">

<input id="TblPrograms_rating_2" value="3" type="radio" name="TblPrograms[rating]" class="star-rating-applied" style="display: none;">

<input id="TblPrograms_rating_3" value="4" type="radio" name="TblPrograms[rating]" class="star-rating-applied" style="display: none;">

<input id="TblPrograms_rating_4" value="5" type="radio" name="TblPrograms[rating]" class="star-rating-applied" style="display: none;">

</span>

Radio buttons (without CStarRating ext) are working but I want to have stars in my filter box.

Please help, I have no idea what is the problem :(

I think that problem is at this row of CStarRating configuration:




"name"=>$data->id,



To filter data you need that ‘name’ property matches with a filter in the action controller.

I changed it to “name”=>“TblPrograms[rating]” and “$data->rating” and nothing. I do not see that something was happening, even in console. :(

Have you check what is $_POST content that arrives to action controller?