EDataTables - добавить пользовательскую сортировку после $widget-> run () в yii1.x
Я использую "ext.edatatables.EDataTables" в структуре Yii 1.x. У меня есть сценарий сортировки столбца после загрузки таблицы на экран. Сортировку необходимо производить через раскрывающийся список.
Вот мой код:
$sort = new EDTSort('Bank', array(
'bank_branch',
'manager',
'Bankid',
'BankName',
'empCount',
)
);
$sort->defaultOrder = "empCount DESC";
$widget = $this->createWidget('ext.edatatables.EDataTables', array(
'id' => 'bank_list',
'dataProvider' => $model->search($criteria, $sort),
'ajaxUrl' => 'SomeURL',
'afterAjaxUpdate'=>'function(id,data) {
if(data["iTotalRecords"] == 0){
$(".pagination").hide();
}
}',
'options' => array(
'bStateSave' => true,
'responsive' => true,
'oLanguage' => array(
'sSearchPlaceholder' => 'Search Bank Here',
'sInfoEmpty' => "",
),
),
'columns' => array(
'bank_branch',
'manager',
'Bankid',
array(
'name'=>'BankName',
'value'=> function ($data){
return $this->getBankName($data->id);
},
'sortable' => true,
'type'=>'raw',
'htmlOptions'=>array('class'=>''),
),
array(
'name'=>'Employee Count',
'value'=> function ($data){
return $this->methodToGetCustomCount($data->id);
},
'type'=>'raw',
'htmlOptions'=>array('class'=>'all'),
),
array(
'header'=>'Action',
'class' => 'EButtonColumn',
'htmlOptions' => array('style' => 'white-space: nowrap; width:100px;','class'=>'all'),
'template' => '{update}',
'buttons' => array(
'update' => array(
'options' => array('rel' => 'tooltip', 'data-toggle' => 'tooltip', 'title' => Yii::t('app', 'Edit bank'), 'class' => 'btn btn-xs btn-warning'),
'label' => '<i class="fa fa-pencil"></i>',
'url' => 'SomeURL',
'imageUrl' => false,
),
),
),
),
));
Используя внутренний запрос через CDbCriteria, я могу получить отсортированные значения, но EdataTable повторно сортирует их по умолчанию при обновлении страницы.
Однако я использую этот параметр для сортировки по умолчанию через
$sort->defaultOrder
EDTSort
.
Код:
$sort = new EDTSort('Bank', array(
'bank_branch',
'manager',
'Bankid',
'BankName',
'empCount',
)
);
$sort->defaultOrder = 'BankName DESC';
При обновлении страницы в течение 1 секунды я вижу фактическое отсортированное значение, а затем EdataTable выполняет повторную сортировку таблицы по умолчанию.
Пожалуйста помоги.