CListView中的CSqlDataProvider排序属性

时间:2014-06-27 11:07:26

标签: php yii

我有以下内容,即Controller中的$ dataprovider:

$sql = 'select * from tbl_user order by id_user';
$count = 'select count(*) from tbl_user';

$dataProvider = new CSqlDataProvider($sql, array(
  'keyField' => 'id_user',
  'totalItemCount' => $count,
  'sort' => array(
    'attributes' => array(
      'name',
    ),
  ),
  'pagination' => array(
    'pageSize' => 15,
  ),
));
视图中的

和ClistView:

$this->widget('zii.widgets.CListView', array(
  'dataProvider' => $dataProvider,   
  'sortableAttributes' => array(
   'name' => 'Name',     
  ),   
));

排序依据:名称出现,但是当我点击没有任何反应时,即ajax请求有效,但我的记录没有排序。我错过了什么?感谢。

我用以下方法解决了问题:

$sql = 'select * from tbl_user';

$dataProvider = new CSqlDataProvider($sql, array(
  'keyField' => 'id_user',
  'totalItemCount' => $count,
  'sort' => array(
    'attributes' => array(
      'name',
    ),
  'defaultOrder' => array('name' => false)
  ),
  'pagination' => array(
    'pageSize' => 15,
  ),
));

这个想法是在sql语句中删除任何顺序,让csqldataprovider来处理它。

0 个答案:

没有答案