Can any one tell, where m I wrong? It;s shows me the data but the fields are not sortable?
Here is my search function.
$sort = new CSort();
$whereStr = '1=1';
// For Leaves
$selectLeaveStr = 'e.E_NAME AS "E_NAME", e.E_TLID AS "E_TLID", (SELECT E_NAME FROM employee WHERE employee.E_ID = e.E_TLID) as TLNAME, e.E_DEPTID AS "E_DEPTID",(SELECT D_NAME FROM department WHERE department.D_ID = e.E_DEPTID) as DPTNAME, l.LS_FROM AS "LS_FROM", l.LS_TO AS "LS_TO", l.LS_STATUS AS "LS_STATUS", l.LS_DAYS AS "LS_DAYS", "L" AS "TYPE"';
$joinLeaveStr = 'JOIN leave_summary l on e.E_ID = l.LS_EMPID';
$selectStr = $selectLeaveStr;
$joinStr = $joinLeaveStr;
$frmDateStr = 'l.LS_FROM';
$statusStr = 'l.LS_STATUS';
$sort->attributes = array(
'E_NAME'=>array(
'asc'=>'e.E_NAME',
'desc'=>'e.E_NAME desc',
),
'E_DEPTID'=>array(
'asc'=>'DPTNAME',
'desc'=>'DPTNAME desc',
),
'E_TLID'=>array(
'asc'=>'TLNAME',
'desc'=>'TLNAME desc',
),
'LS_FROM'=>array(
'asc'=>'l.LS_FROM',
'desc'=>'l.LS_FROM desc',
),
'LS_TO'=>array(
'asc'=>'l.LS_TO',
'desc'=>'l.LS_TO desc',
),
'LS_STATUS'=>array(
'asc'=>'CONCAT(l.LS_STATUS)',
'desc'=>'CONCAT(l.LS_STATUS) desc',
),
'LS_DAYS'=>array(
'asc'=>'l.LS_DAYS',
'desc'=>'l.LS_DAYS desc',
),
'TYPE'=>array(
'asc'=>'TYPE',
'desc'=>'TYPE desc',
),
);
$sort->defaultOrder = 'e.E_NAME';
$leaveCountQuery = 'SELECT COUNT(E_ID) FROM employee e '.$joinLeaveStr.' WHERE '.$whereStr;
$leaveQuery = 'SELECT '.$selectLeaveStr.' FROM employee e '.$joinLeaveStr.' WHERE '.$whereStr;
$recCount=Yii::app()->db->createCommand($leaveCountQuery)->queryScalar();
$sql=$leaveQuery;
$dataProvider=new CSqlDataProvider($sql, array(
'totalItemCount'=>$recCount,
'sort'=>$sort,
'pagination'=>array(
'pageSize'=>10,
),
));
return $dataProvider;
Does CSort and CSqlDataProvider will work together?
So Please Help me !!!!