Как встроить индикатор выполнения в столбец Cgridview в Yii

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

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()',
),

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

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


person Rodolfo Baeza    schedule 07.06.2013    source источник


Ответы (1)


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

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

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

Вариант № 2 — повторно активировать индикатор выполнения, настроив afterAjaxUpdate параметр вашей сетки. Вот документы, касающиеся afterAjaxUpdate

person Community    schedule 07.06.2013