Yii CGridView tbody td set attributes



嗨,我需要创建带有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标记设置class?我在CGridView类引用中没有发现这一点,但我认为它可以通过htmlOptions进行配置。谢谢你的帮助!

你试过这个吗:

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

对于tbody标签,您不能定义类,但您为表'id'=>'order-table'定义了它,因此您可以访问类似于$('#order-table tbody') 的tbody

Update:您不能捕获ajaxUpdate分页事件,但您可以使用beforeAjaxUpdate、afterAjaxUpdate事件,如下所示:

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

正如@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"',
),

最新更新