julian90
(Jb)
1
Also als erste generire ich die Daten per CActiveDataProvider dort summiere ich per SUM(tabelle) AS summ
So das ding ist das ich die Zeile einfach nicht Sortieren kann nicht nach DESC oder ASC.
Per $criteria->order schon aber das ist ja dann nur die Default einstellung.
CActiveDataProvider::
// -- Criteria Starts -- //
$criteria = new CDbCriteria;
$criteria->select = "t.id,SUM(t.anzahl) AS summ";
$criteria->order = "summ DESC";
$criteria->group = "t.id";
// -- Criteria Ends -- //
$revenueDataProvider = new CActiveDataProvider("WebmasterRevenues", array(
'criteria' => $criteria,
));
CGridView :::
$this->widget('zii.widgets.grid.CGridView',array(
'dataProvider'=>$userDataProvider,
'filter'=>$modelUser,
'id'=>'revenuesGrid',
'cssFile'=>'css/gridstyle.css',
'htmlOptions'=>array(
'class'=>'admin-grid',
'style'=>'width:80%;max-width:950px;font-size:12px;'
),
'columns'=>array(
array(
'header' => 'User Id',
'type' => 'raw',
'value' => '$data->id',
),
array(
'header' => 'Webmaster',
'type' => 'raw',
'value' => '',
),
)
));
rtfm
(Hofrob)
2
Übergib an die CActiveDataProvider->sort property ein CSort Objekt
julian90
(Jb)
3
Ja super danke ^^ so einfach eig 
$UserDataProvider = new CActiveDataProvider("User", array(
'criteria' => $criteria,
'sort'=>array(
'defaultOrder'=>'sumCom DESC',
'attributes'=>array(
'summ'=>array(
'asc'=>'summ ASC',
'desc'=>'summ DESC'
)
)
)
));
julian90
(Jb)
4
Okay nun noch eine Frage
Criteria
$criteria->select = 't.cpID,
COUNT(IF(t.user_status = "USER", 1, null)) AS cUser,
COUNT(IF(t.user_status = "USERA", 1, null)) AS cUserA,
COUNT(IF(t.user_status = "USERB", 1, null)) AS cUserB';
CActiveDataProvider:
$userDataProvider = new CActiveDataProvider("WebmasterUser", array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'cUser DESC',
'attributes'=>array(
'cUser'=>array(
'asc'=>'cUser ASC,cPremium ASC,cVip ASC',
'desc'=>'cUser DESC,cPremium DESC,cVip DESC'
),
'cUserA'=>array(
'asc'=>'cUserA ASC',
'desc'=>'cUserA DESC'
),
'cUserB'=>array(
'asc'=>'cUserB ASC',
'desc'=>'cUserB DESC'
)
)
),
'pagination'=>array(
'pageSize'=>25,
)
));
Aber dennnoch werden die 3 Felder nicht sortiert der "defaultOrder" funktioniert aber alles weiter nicht
rtfm
(Hofrob)
5
Heißen diese Spalten im CGridView auch so?
also:
'name' => 'cUser',
usw.