我在网站上使用 CGridView 来显示通过 CArrayDataProvider 提供的数据。这样做的原因是,数据在不同的表中累积,并通过额外的计算列进行了丰富。使用此代码排序和过滤通常可以正常工作(...被省略列):
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'produkt-grid',
'dataProvider'=>new CArrayDataProvider($betroffeneProdukte, array(
'sort' => array(
'attributes' => array(
'bezeichnung',
'datum',
...
),
),
'pagination' => false,
)),
'enableSorting' => true,
'columns'=>array(
array(
'name'=>'bezeichnung',
'header'=>'Bezeichnung',
'value'=>'$data["bezeichnung"]',
),
array(
'name'=>'datum',
'header'=>'datum',
'value'=>'$data["datum"]',
),
...
),
));
问题是日期列。它排序为这样的字符串(德语格式):01.10.2012, 03.08.2012, 10.01.2012, 15.02.2012, ...
我当然想像这样正确排序:10.01.2012, 15.02.2012, 03.08.2012, 01.10.2012, ...
有人对我有想法吗?