Как я могу обновить CListView в Yii, когда была добавлена ​​новая запись, вызванная вызовом AJAX? - PullRequest
1 голос
/ 12 июня 2011

Вчера я познакомился с CListView и смог отобразить всю информацию, которую я хочу о моих записях, и в формате, который я хочу.У меня есть кнопка «Создать» (добавить новый контакт), которая открывает модальное всплывающее окно с соответствующими полями.Когда это окно закрыто, я возвращаюсь к CListView, и вот моя проблема: я пытался обновить CListView (без какой-либо удачи, ясно).

Я полагаю, что будет легко обновить clistview с помощью этого вызова: $ .fn.yiiListView.update (' ID CListViews '), но я не могу найти подходящее событие, котороедолжен вызвать этот вызов.

Далее, я публикую то, что я думаю, это соответствующий код:

Кнопка

echo CHtml::ajaxButton ("Create",
                          CController::createUrl('/contacts/create'),
                          array('onclick'=>'
                                    $("#createContact").dialog("open");
                                    return false;',
                                    'update'=>'#createContact'), 
                          array('id'=>'showCreateContactDialog'));?>

CListView

$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>new CArrayDataProvider($model->contacts, array('pagination'=>array('pageSize'=>5,),)),
    'itemView'=>'_view',
    'emptyText'=>'empty',
    'template'=>"{items}\n{pager}", 
    'pagerCssClass'=>'page-number',
    'id'=>'ajaxListView',
));?>

Любая помощь приветствуется!Надеюсь, это в конечном итоге тоже кому-нибудь поможет.

1 Ответ

2 голосов
/ 12 июня 2011

Если я правильно понимаю, ваша проблема заключается в том, чтобы найти причину для обновления CListView (предоставленный вами фрагмент обновления JS должен работать нормально).

Возможно, диалоговое событие jQuery close - это то, что вы ищете; оно будет запущено после закрытия диалога. Кроме того, существует также событие beforeClose, которое имеет дополнительную возможность предотвратить закрытие диалога.

...