Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
261 views
in Technique[技术] by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

贴一个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项

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...