in view file my code is
<?php Yii::import(‘zii.widgets.grid.CGridColumn’);
class CounterColumn extends CGridColumn
{
private $i = 1;
public function init()
{
$pager=$this->grid->dataProvider->pagination;
$this->i=0;
}
public function renderDataCellContent($row, $data) // $row number is ignored
{
$this->i++;
echo "<label class='sel' for='check_".$this->i."'>&nbsp;</label>";
}
}
$dataProvider=new CActiveDataProvider('Lead', array('criteria'=>array(
'condition'=>'status != "Allocated" AND isDuplicate = "no" AND isJunk = "no" ',
'order'=>'leadId DESC',
)));
$alert="Are you sure you want to Change Status? ";
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'acc-payment-recei-grid',
'htmlOptions' => array('class' => 'items'),
'ajaxUpdate'=>false,
'enableSorting'=>true,
'enablePagination' => true,
'pager' => array(
'header' => '&nbsp;',
'prevPageLabel' => 'Prev',
'nextPageLabel' => 'Next',
),
'dataProvider'=>$dataProvider,
'columns'=>array(
array(
'header'=>'',
'class'=>'CounterColumn',
'htmlOptions'=>array('class'=>'hideheader'),
),
array(
'class' => 'CCheckBoxColumn',
'id'=>'check',
'selectableRows' => 2,
'checkBoxHtmlOptions' => array(
'id'=>'check',
'name' => 'userids[]',
'class'=>'cbox',
'rel'=>'cbox',
),
'value'=>'$data->leadId',
'htmlOptions'=>array('width'=>'10px'),
),
array( // display 'create_time' using an expression
'name'=>'Mobile',
'value'=>'@$data->mobile',
'sortable'=>TRUE,
),
array( // display 'create_time' using an expression
'name'=>'Name',
'value'=>'@$data->name',
'sortable'=>TRUE,
),
array( // display 'create_time' using an expression
'name'=>'Email',
'value'=>'@$data->email',
'sortable'=>TRUE,
),
array( // display 'create_time' using an expression
'name'=>'Lead Stage',
'value'=>'@$data->leadStageDetails->leadStage',
'sortable'=>TRUE,
),
array( // display 'create_time' using an expression
'name'=>'Date &amp; Time',
'value'=>'date("d/m/y h:i A",@$data->createdOn)',
'sortable'=>TRUE,
),
array( // display 'create_time' using an expression
'name'=>'UTM Code',
'value'=>'@$data->leadSourceDetails->leadSourceCode',
'sortable'=>TRUE,
),
array( // display 'create_time' using an expression
'name'=>'History',
'type'=>'raw',
'value'=>'CHtml::link("Details",array("leads/leads_details","leadId"=>$data->leadId))',
'sortable'=>TRUE,
),
array( // display a column with "view", "update" and "delete" buttons
'header'=>'Action',
'htmlOptions'=>array('style'=>'width: 80px',),
'class'=>'CButtonColumn',
'template' => '<table border="0" cellspacing="0" cellpadding="0" class="iconitem">
<tr>
<td>'.($moduleAccessArray['write']=="yes"?"{edit}":"NA").'</td>
<td class="nobg">'.($moduleAccessArray['write']=="yes"?"{view}":"NA").'</td>
</tr>
</table>',
'buttons' => array(
'Active' =>array(
'url' => 'Yii::app()->controller->createUrl("ChangeRoleStatus",array("leadId"=>$data->leadId,"status"=>$data->status))',
'imageUrl'=>Yii::app()->baseUrl.'/images/active.png',
'label' => @$model->status,
'visible'=>'($data->status=="Active")?1:0',
'options' => array(// this is the 'html' array but we specify the 'ajax' element
'confirm' => $alert,
'class' => 'grid_action_set1',
'click'=>"function(){
$.ajax({
type:'POST',
url:'',
success:function(data) {
$('#AjFlash').html(data.status).fadeIn().animate({opacity: 1.0}, 3000).fadeOut('slow');
$.fn.yiiGridView.update('user-grid');
}
})
return false;
}
",
),
),
'Deactive' =>array(
'url' => 'Yii::app()->controller->createUrl("ChangeRoleStatus",array("id"=>$data->leadId,"status"=>$data->status?$data->status:"Inactive"))',
'imageUrl'=>Yii::app()->baseUrl.'/images/dactivate_icon.png',
'label' => @$model->status,
'visible'=>'($data->status=="Inactive" or $data->status=="")?1:0',
'options' => array(// this is the 'html' array but we specify the 'ajax' element
'confirm' => $alert,
'class' => 'grid_action_set1',
'click'=>"function(){
$.ajax({
type:'POST',
url:'',
success:function(data) {
$('#AjFlash').html(data.status).fadeIn().animate({opacity: 1.0}, 3000).fadeOut('slow');
$.fn.yiiGridView.update('user-grid');
}
})
return false;
}
",
),
),
'edit' => array(
'url' => 'Yii::app()->controller->createUrl("leads/create_lead",array("leadId"=>$data->leadId))',
'imageUrl'=>Yii::app()->request->baseUrl.'/images/edit_icon.png',
),
'view' => array(
'url' => 'Yii::app()->controller->createUrl("leads/lead_details",array("leadId"=>$data->leadId))',
'imageUrl'=>Yii::app()->request->baseUrl.'/images/view_icon.png',
),
),
),
),
));
?>
in controller
public function actionlead_list()
{
// renders the view file 'protected/views/site/index.php'
// using the default layout 'protected/views/layouts/main.php'
$model = new Lead();
$model = Lead::model()->findAll("status = 'Active'");
$this->render('lead_list',array('model'=>$model));
}
in model
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'stateDetails' => array(self::BELONGS_TO, 'state', 'stateId'),
'cityDetails' => array(self::BELONGS_TO, 'city', 'cityId'),
'customerTypeDetails' => array(self::BELONGS_TO, 'customerTypeMaster', 'customerTypeId'),
'productDetails' => array(self::BELONGS_TO, 'productMaster', 'productId'),
'planTypeDetails' => array(self::BELONGS_TO, 'planTypeMaster', 'planTypeId'),
'policyTypeDetails' => array(self::BELONGS_TO, 'policyTypeMaster', 'policyTypeId'),
'campaignDetails' => array(self::BELONGS_TO, 'campaign', 'campaignId'),
'leadSourceDetails' => array(self::BELONGS_TO, 'leadSourceMaster', 'leadSourceId'),
'leadStageDetails' => array(self::BELONGS_TO, 'leadStageMaster', 'leadStageId'),
'leadStatusDetails' => array(self::BELONGS_TO, 'leadStatus', 'leadStatusId'),
);
}
/**
* @return array customized attribute labels (name=>label)
*/
public function attributeLabels()
{
return array(
'leadId' => 'Lead',
'email' => 'Email',
'emailOptOut' => 'Email Opt Out',
'mobile' => 'Mobile',
'mobileOptOut' => 'Mobile Opt Out',
'status' => 'Status',
'createdBy' => 'Created By',
'createdOn' => 'Created On',
'updatedBy' => 'Updated By',
'updatedOn' => 'Updated On',
);
}
/**
* Retrieves a list of models based on the current search/filter conditions.
* @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
*/
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('leadId',$this->leadId,true);
$criteria->compare('email',$this->email,true);
$criteria->compare('emailOptOut',$this->emailOptOut,true);
$criteria->compare('mobile',$this->mobile,true);
$criteria->compare('mobileOptOut',$this->mobileOptOut,true);
$criteria->compare('status',$this->status,true);
$criteria->compare('createdOn',$this->createdOn,true);
$criteria->compare('createdBy',$this->createdBy,true);
$criteria->compare('updatedOn',$this->updatedOn,true);
$criteria->compare('updatedBy',$this->updatedBy,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
how search with particular data