I used CGridView for my list.
I idea is that I need button "delete all", if so what is solution ?
list.php:
<?php
$this->widget('application.modules.admin.components.TCGridView',array(
'dataProvider'=>$model->search(),
'filter'=>$model,
'htmlOptions'=>array(
'class'=>'comUserList',
),
'columns'=>array(
array(
'header'=>'#',
'value'=>'$this->grid->dataProvider->pagination->currentPage*$this->grid->dataProvider->pagination->pageSize + $row+1',
'htmlOptions'=>array('class'=>'number'),
),
/*
array(
'class'=>'CCheckBoxColumn',
'headerHtmlOptions'=>array(),
'checkBoxHtmlOptions'=>array('class'=>'checkBox','name'=>'cid[]'),
),
*/
array(
'id'=>'comUserListUserNameColumn',
'name'=>'username',
'type'=>'raw',
'value'=>'CHtml::link(CHtml::encode($data->username),array(\'user/update\',\'id\'=>$data->id),array(\'title\'=>CHtml::encode($data->username)))',
'filter'=>CHtml::activeTextField($model, 'username', array(
'id'=>false,
'class'=>'text',
)),
),
array(
'name'=>'level',
'value'=>'($data->level==1)?Yii::t(\'adminModule.comUser\',\'Super Administrator\')<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/sad.gif' class='bbc_emoticon' alt=':(' />($data->level==2)?Yii::t(\'adminModule.comUser\',\'Administrator\')<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/sad.gif' class='bbc_emoticon' alt=':(' />($data->level==3)?Yii::t(\'adminModule.comUser\',\'Manager\'):Yii::t(\'adminModule.comUser\',\'Member\')))',
'filter'=>CHtml::activeDropDownList($model,'level', array(
1=>Yii::t('adminModule.comUser','Super Administrator'),
2=>Yii::t('adminModule.comUser','Administrator'),
3=>Yii::t('adminModule.comUser','Manager'),
4=>Yii::t('adminModule.comUser','Member'),
),array(
'id'=>false,
'class'=>'select',
'prompt'=>'- - '.Yii::t('adminModule.common','Select All').' - -',
)),
),
array(
'header'=>Yii::t('adminModule.comUser','Check Status'),
'name'=>'publish',
'type'=>'raw',
'value'=>'($data->publish==1)?CHtml::link(Yii::t(\'adminModule.comUser\',\'Publish\'),array(\'user/unpublish\',\'id\'=>$data->id),array(\'title\'=>Yii::t(\'adminModule.comUser\',\'Publish\'))):CHtml::link(Yii::t(\'adminModule.comUser\',\'Un-Publish\'),array(\'user/publish\',\'id\'=>$data->id),array(\'title\'=>Yii::t(\'adminModule.comUser\',\'Un-Publish\')))',
'filter'=>CHtml::activeDropDownList($model, 'publish', array(
0=>Yii::t('adminModule.comUser','Publish'),
1=>Yii::t('adminModule.comUser','Un-Publish'),
),array(
'id'=>false,
'class'=>'select',
'prompt'=>'- - '.Yii::t('adminModule.common','Select All').' - -',
)),
),
array(
'name'=>'createTime',
'value'=>'Yii::app()->dateFormatter->format(Yii::app()->locale->getDateFormat(),Yii::app()->controller->gmt_to_local($data->createTime))',
'filter'=>false,
'htmlOptions'=>array('class'=>'date'),
),
array(
'name'=>'updateTime',
'value'=>'Yii::app()->dateFormatter->format(Yii::app()->locale->getDateFormat(),Yii::app()->controller->gmt_to_local($data->updateTime))',
'filter'=>false,
'htmlOptions'=>array('class'=>'date'),
),
array(
'id'=>'comUserListOptionColumn',
'header'=>Yii::t('adminModule.common','Option'),
'class'=>'CButtonColumn',
'template'=>'{update} {delete}',
'buttons'=>array(
'update'=>array(
'imageUrl'=>false,
'options'=>array('class'=>'optionUpdate'),
),
'delete'=>array(
'imageUrl'=>false,
'options'=>array('class'=>'optionDelete'),
),
),
'headerHtmlOptions'=>array('class'=>NULL),
),
),
));
?>
TCGridView.php
class TCGridView extends CGridView
{
/**
* @var interger whether the number of items in each page
*/
public $statePageSize;
/**
* @var string the CSS class name for the state page size container. Defaults to 'statePageSize'.
*/
public $statePageSizeCssClass='statePageSize';
/**
* Initializes the CGridView view.
* This method will initialize required property values pageSize
*/
public function init()
{
$this->standardConfig();
parent::init();
}
/**
* This method will load standard config.
*/
private function standardConfig()
{
$this->dataProvider->pagination->pageSize=$this->getStatePageSize();
$this->filterPosition='header';
$this->summaryCssClass='summaryTableList';
$this->itemsCssClass='tableList';
$this->pagerCssClass='Paging';
//$this->filterCssClass='filters'; // $this->filterCssClass C-A-N-'-T NULL
$this->cssFile='admin/classic/css/tableList.css';
$this->pager=array(
'class'=>'CLinkPager',
'htmlOptions'=>array(
'class'=>FALSE,
'id'=>'paging'.$this->id
),
'maxButtonCount'=>11,
'cssFile'=>'admin/classic/css/pagers.css',
'header'=>FALSE,
);
$this->selectableRows=$this->getStatePageSize();
$this->template='{items}{statePageSize}{summary}{pager}';
// All config loaded, now to js for it.
Yii::app()->clientScript->registerScript(__CLASS__.'#'.$this->id,<<<EOD
jQuery('#statePageSize{$this->id}').live('change', function() {
jQuery.fn.yiiGridView.update('{$this->id}',{ data:{ statePageSize{$this->id}: jQuery(this).val() }});
});
EOD
,CClientScript::POS_READY);
}
/**
* @return integer whether the number of items in each page
*/
public function getStatePageSize()
{
$var=intval($_GET['statePageSize'.$this->id]);
if($var<=0)
$var=Yii::app()->params['pageSize'];
$this->setStatePageSize($var);
return $this->statePageSize;
}
/**
* @param integer $value number of items in each page
*/
public function setStatePageSize($value)
{
$this->statePageSize=intval($value);
}
/**
* Renders the drop down state page size
*/
public function renderstatePageSize()
{
echo '<div class="'.$this->statePageSizeCssClass.'">';
echo CHtml::dropDownList('statePageSize'.$this->id, $this->getStatePageSize(), array(10=>10,15=>15,20=>20,25=>25,30=>30,50=>50,100=>100), array('class'=>'select'));
echo '</div>';
}
}
Thanks