Yii CGridView tbody td设置属性

时间:2014-04-28 19:37:47

标签: yii widget jquery-ui-sortable cgridview

您好我需要使用tbody,tr和td创建表格,例如:

  <table>
   <tbody id="sortable1" class="droptrue">
    <tr><td class="ui-state-default">Can be dropped..</td></tr>
    <tr><td class="ui-state-default">Can be dropped..</td></tr>
    <tr><td class="ui-state-default">Can be dropped..</td></tr>
    <tr><td class="ui-state-default">Can be dropped..</td></tr>
  </tbody>
</table>

我正在使用Yii CGridView(需要此小部件)

$this->widget('bootstrap.widgets.TbGroupGridView', array(
'id'=>'order-table',
'type'=>'striped condensed',
'dataProvider'=>$orders->search(),
'filter'=>$orders,
'ajaxUpdate'=>true,
'columns' => 
    array(
        array(
            'header' => 'ID',
            'value' => 'Adminhelper::getRowNumber($row, @$_GET["OrderModel_page"])',
           ),
        'name',
        'model',
        'imei',
        'provider',
        array(
            'header' => 'payment_type',
            'value' => 'Adminhelper::getPaymentMethod($data, array("На счет телефона", "Qiwi", "Webmoney", "На карту Сбербанка", "Yandex Деньги", "PayPal" ))'
           ),
        array(
            'header'=>'AAAA',
            'value'=>'Adminhelper::getInfoButton($data)',
          ),
        array(
            'header'=>'Статус',
            'value'=>'Adminhelper::getStatusButton($data)',
          ),
        array(
            'header' => 'Copy',
            'value'=>'Adminhelper::getCopyButton($data)',
           ),
        array(
            'header'=>'Статус',
            'value'=>'Adminhelper::getDeleteButton($data)',
          ),
),

如何为tbody标签设置class和id,为td标​​签设置类?我没有在CGridView类引用中找到它,但我认为它可以由htmlOptions配置。 谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

你试过这个:

array(
    'header'=>'Статус',
    'value'=>'Adminhelper::getDeleteButton($data)',
    'htmlOptions'=>array('class'=>'td-class-here')
),

对于tbody标记,您无法定义类,但是您为表'id'=>'order-table'定义了它,因此您可以访问tbody,如$('#order-table tbody')

更新:您无法捕获ajaxUpdate分页事件,但您可以使用beforeAjaxUpdate,afterAjaxUpdate事件,如下所示:

'afterAjaxUpdate' => 'function(id, data){/*write js-code there*/}'

答案 1 :(得分:0)

正如@Alex解释的那样,您可以识别您的表格,或者您可以在视图文件中指向以下内容:

<style>
.grid-view table.items tbody {
    color: #000;
    ...
}
</style>

对于您的td(CGridColumn),您可以通过两种方式在窗口小部件定义中定义您的类:

一个(静态):

array(
    'header'=>'Статус',
    'value'=>'Adminhelper::getDeleteButton($data)',
    'htmlOptions' => array(
        'style' => 'width:120px;text-align:left',
        'class' => 'yourClassName'
    ),
),

两个(动态):

array(
    'header'=>'Статус',
    'value'=>'Adminhelper::getDeleteButton($data)',
    'cssClassExpression' => 'Adminhelper::getDeleteButton($data)=="CompareValue"?
                              "error":"success"',
),