2013-06-07 2 views
1

, как говорит название, я встраивание CJuiProgressBar внутри колонны CGridView, используя следующий синтаксис:Как встроить прогресс бар в Cgridview колонке в Yii

array (
    'name'=>'cantidad_mails', 
    'value'=>'$this->grid->Controller->createWidget("zii.widgets.jui.CJuiProgressBar",array(

    "value"=>intval($data->porcentaje), 
    "htmlOptions"=>array(
     "style"=>"width:80px; height:20px; float:left; background-color:#44F44F ;background:#EFFDFF", 
     "color" => "red" 
    ), 
))->run()', 
), 

И это прекрасно работает в первый раз, страница с сетка загружена, но если я нажму на одну из ссылок на сетку сетки, индикаторы прогресса исчезнут из столбца.

Кто-нибудь знает, как это исправить? Спасибо.

ответ

2

Проблема заключается в том, что сетка разбивается на страницы с помощью ajax, поэтому после выполнения шага выполнения обновления ajax не повторно инициализируется.

Самое простое решение - отключить обновления ajax, которые в любом случае not efficient.

Вы можете сделать это, установив ajaxUpdate вашей конфигурации сетки на false.

Вариант № 2 заключается в том, чтобы повторно установить индикатор выполнения, установив afterAjaxUpdate вариант вашей сетки. Here are docs regarding afterAjaxUpdate

Смежные вопросы