AngularJS ngGrid文本对齐方式

obl*_*n19 11 angularjs ng-grid

有没有办法将单元格文本值对齐到中心/右边?谢谢.

这是一个plnkr基本示例.

小智 38

根据oblivion19的评论,这里是一个示例解决方案(带有更多上下文),通过设置对象的cellClass属性:columnDefsgridOptions

HTML:

<div ng-grid="gridOptions"></div>
Run Code Online (Sandbox Code Playgroud)

JS:

$scope.someData = [{ "name": "MB", "age": 20 }, { "name": "KY", "age": 22 }];
$scope.gridOptions = {
    data: 'someData',
    columnDefs: [{
        field: 'name',
        displayName: 'Name',
        cellClass: 'grid-align'
     }, {
        field: 'age',
        displayName: 'Age'
    }]
};
Run Code Online (Sandbox Code Playgroud)

CSS:

.grid-align {
    text-align: center;
}
Run Code Online (Sandbox Code Playgroud)

请注意,此解决方案仅使一些列居中(即,具有cellClass指定的列).要使所有列居中,只需添加class="grid-align"ng-griddiv即可.


Aar*_*man 7

就在这里.您想使用行或单元格模板.它在您设置ng-grid的控制器中的columnDefs上定义.

columnDefs: [{field: 'name', displayName: 'Name'},
                 {field:'age', displayName:'Age', cellTemplate: '<div ng-class="{green: row.getProperty(col.field) > 30}"><div style="text-align:center;"  class="ngCellText">{{row.getProperty(col.field)}}</div></div>'}]
    };
Run Code Online (Sandbox Code Playgroud)

我在下面有一个更新的Plunker,它的列与中心对齐.

Plunker

  • 谢谢你的帮助伴侣.我发现我可以将cellClass添加到列中,并使用text-align设置该类的样式.但你的方法也适用.干杯! (4认同)
  • 我真的认为遗忘的答案是最好的解决方案.无需设置模板即可设置显示属性. (3认同)