Привет. Для поиска в CListView создал виджет который сохраняет данные для поиска в сессии и потом через addSearchCondition я добавляю информацию из сессии в параметры выборки из базы. Все отлично работает только каждый раз приходится обновлять страницу для отображения новых результатов. Как красиво можно передать в CListView указание на рендеринг новых данных?
Сам спросил, сам отвечаю.
В jquery.yiilistview.js в параметр settings.updateSelector добавляем новый селектор при нажатии на который будет обновляться наш listview у меня это #update (наверное этот параметр можно передать и при создании виджета но я пока не нашел как)
settings.updateSelector = '#update,'+'#'+id+' .'+settings.pagerClass+' a, #'+id+' .'+settings.sorterClass+' a';
В виджете фильтрации сабмит формы произвожу таким скриптом:
<div id="update" onclick="jQuery.ajax({'type':'POST','url':'Filter','cache':false,'data':jQuery(this).parents('form').serialize()});return false;">Search</div>
В итоге все работает. При нажатии на кнопку список обновляется уже с отфильтрованными данными. И все используя AJAX.