Yii2的GridView如何设置标题列左对齐?

想要设置成align="right",但是不知道如何写。
在headerOptions中设置了也没有用,请问一下应该在哪里设置呢?
标题列设置左对齐

阅读 5.2k
1 个回答

贴一个column的设置:

[
    'attribute' => 'Name',
    'format'=>'html',
    'value' => function($data) {
        return sprintf(
            '<a href="/admin/project/manage?pid=%s">%s</a>',
            $data->ID,
            $data->Name
        );
    },
    'headerOptions'=>[
        'align'=>'right',
    ],
    'contentOptions'=>[
        'align'=>'right',
    ]
]

按照上述设置,contentOptions是会生效的,也就是说除了公告标题之外,下面的内容都会右对齐。
但是公告标题仍然没有按照配置右对齐,这是因为GridView引用了Bootstrap的CSS所导致的,以我的YII应用为例:

<link href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

在页面header中有这么一行,进去之后可以看到如下内容:
clipboard.png
这就是罪魁祸首,调查页面源码可以看到公告标题位于th标签中,因而受到了影响,你的headerOptions不会生效。
解决方案:

  1. 用kartik的GridView,Yii中很多前端插件都是kartik做的,非常牛逼的一个人,kartik最新的GridView列参数中有一个专门用来控制列中文本对其的,传送门->链接描述
  2. 自己写CSS去override掉bootstrap的那个css项
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进