2015-10-01 52 views
0

我想在yii助推器中设置新的网格视图,同时在视图的开始处通过一个变量对格式进行排序。不能使用类型为TbGridView的对象作为数组Yiibooster

我相信我没有正确传递变量通过这条线

$gridColumns = $this->widget('booster.widgets.TbGridView', array(

我怎么会去使用这个变量?我可以创建一个新的表单数组没有使用yiibooster,但与小部件激活它不再喜欢变量名称

问题是我收到错误的帖子标题。

$gridColumns = $this->widget('booster.widgets.TbGridView', array(
    'id' => 'delegate-grid', 
    'dataProvider' => $model->search(), 
    'filter' => $model, 
    'columns' => array(
     // 'id', 
     array(
      'name' => 'forename', 
      'type' => 'raw', 
      'value' => 'CHtml::link($data->forename, array("user/view", "id" => $data->id))', 
     ), 
     'surname', 
//  'facilities', 
     // 'telephone', 
     // 'address_id', 
     /* 
      'logo_path', 
     */ 
     array(
      'class' => 'booster.widgets.TbButtonColumn', 
     ), 
    ), 
)); 

$groupGridColumns = $gridColumns; 
$groupGridColumns[] = array(
    'name' => 'firstLetter', 
    'value' => 'substr($data->surname, 0, 1)', 
    'headerHtmlOptions' => array('style' => 'display:none'), 
    'htmlOptions' => array('style' => 'display:none') 
); 

$this->widget('booster.widgets.TbGroupGridView', array(
    'id' => 'user-grid', 
    'type' => 'striped bordered condensed highlight', 
    //'template' => "{items}", 
    'dataProvider' => $model->search(), 
    'filter' => $model, 
    'extraRowColumns' => array('firstLetter'), 
    'extraRowExpression' => '"<b style=\"font-size: 3em; color: #333;\">".substr($data->surname, 0, 1)."</b>"', 
    'extraRowHtmlOptions' => array('style' => 'padding:10px;text-align: center;'), 
    'columns' => $groupGridColumns, 

)); 

回答

0

这是因为你给CGridView类型的对象,以TbGroupGridView作为参数。

$groupGridColumns = $gridColumns;

你把TbGridView($gridColumns)类型的对象在$groupGridColumns,然后把它送给你TbGroupGridView,但TbGroupGridView columns property预计其值是数组(列定义)的阵列等全中,当新的异常$groupGridColumns的第一个单元格找到一个对象。 你不需要第一部分和一些改变,你的代码应该在启用过滤的情况下正常工作。

$this->widget('booster.widgets.TbGroupGridView', array(
    'id' => 'user-grid', 
    'type' => 'striped bordered condensed highlight',   
    'dataProvider' => $model->search(), 
    'filter' => $model, 
    'extraRowColumns' => array('firstLetter'), 
    'extraRowExpression' => '"<b style=\"font-size: 3em; color: #333;\">".substr($data->surname, 0, 1)."</b>"', 
    'extraRowHtmlOptions' => array('style' => 'padding:10px;text-align: center;'), 
    'columns' => array(
      array(
       'name' => 'forename', 
       'type' => 'raw', 
       'value' => 'CHtml::link($data->forename, array("user/view", "id" => $data->id))', 
      ), 
      'surname', 
      array(
       'name' => 'firstLetter', 
       'value' => 'substr($data->surname, 0, 1)', 
       'headerHtmlOptions' => array('style' => 'display:none'), 
       'htmlOptions' => array('style' => 'display:none') 
      )   
      array(
       'class' => 'booster.widgets.TbButtonColumn', 
      ), 
    ) 
)); 
相关问题