我使用DTColumnBuilder将Json数据显示到datatable中。所以现在我能够将数据显示在列的每一行中。但是我想在列的每一行中设置一个字体真棒图标。
控制器:
angular.module('app.example').controller('xyz', function ($scope,$http,$state, $stateParams,Rh,DTOptionsBuilder,DTColumnBuilder,DTColumnDefBuilder) {
this.standardOptions = DTOptionsBuilder
.fromFnPromise(Rl.all('abc/main/logic').getList())
//Add Bootstrap compatibility
.withDOM("<'dt-toolbar'<'col-xs-12 col-sm-6'f><'col-sm-6 col-xs-12 hidden-xs'l>r>" +
"t" +
"<'dt-toolbar-footer'<'col-sm-6 col-xs-12 hidden-xs'i><'col-xs-12 col-sm-6'p>>")
.withBootstrap();
this.standardColumns = [
DTColumnBuilder.newColumn('msg.firstName'),
DTColumnBuilder.newColumn('msg.lastName'),
];
});
HTML
<table datatable dt-options="datatables.standardOptions" dt-columns="datatables.standardColumns" class="table table-striped table-bordered table-hover" width="100%">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
</table>
我想在列中添加font-awesome图标。
DTColumnBuilder.newColumn('fontawesome-icon'),
<th>Action</th>
我看过一个链接,但我没弄错。 How to combine data and show image in angular datatable。因为我只想使用font-awesome。
<i class="fa fa-refresh" aria-hidden="true"></i>
我有一个功能但是我无法调用此功能
function action(data) {
return $sce.trustAsHtml('<i class="fa fa-fw fa-folder-open-o"> </i>');
}
感谢。
答案 0 :(得分:1)
您可以使用renderWith
:
DTColumnBuilder.newColumn('msg.lastName')
.renderWith(function(data, type, full, meta) {
return '<i class="fa fa-refresh" aria-hidden="true"></i>'
})
将呈现HTML。有关详细信息,请参阅https://datatables.net/reference/option/columns.render。
示例 - &gt;的 http://plnkr.co/edit/NZSFrdeCAObbRjCAa7Vi?p=preview 强>
如果您需要将指令附加到返回的HTML,请使用createdCell
和$compile
:
.withOption('createdCell', function(cell, cellData, rowData, rowIndex, colIndex) {
$compile(cell)($scope)
})