2016-04-25 58 views
2

我需要根据状态或纯文本将单元格中的文本显示为链接。 如果状态为“已删除”,则该名称应显示为纯文本或超链接。以下是我的网格选项。我总是把它作为超链接。有人请帮我纠正我的单元格模板,以便我正确地得到它。用户界面网格角js中的条件单元格模板

$scope.gridOptions = { 
    data: 'ProjectDetails', 
    columnDefs: [ 
    { field: 'Id', displayName: 'ID', visible: false }, 
    { displayName: 'Name', width: 200, cellTemplate: '<div> {{row.entity.ProjectStatus}} != Deleted </div>' ? '<div><a href="http://################ID={{row.entity.Id}}">{{row.entity.Name}}</a></div>' : '<div> {{row.entity.Status}}</div>' }, 
    { field: 'Expense', displayName: 'Operating Expense', width: 185, cellFilter: 'noFractionCurrency' },   
    { field: 'Status', displayName: 'Status', width: 150 } 
    ] 
}; 
+0

你为什么不接受你的解决方案? – Sampath

回答

0

我会这样做ngShow

var cellTemplate = "<div ng-show='row.entity.Status !== 'Deleted''><a href='#####{{row.entity.Id}}'>{{row.entity.Name}}</a></div><div ng-show='row.entity.Status === 'Deleted''>{{row.entity.Status}}</div>" 
+0

这没有帮助。它将Name和Both均显示为链接,并显示每行中的文本,而不考虑状态。 – Janet

+0

如果'row.entity.Status!=='Deleted''只显示一个链接。检查你的JSON。有两个div使用两个不同的'ng-show',对它们进行修改以适应您的需求。对不起,盲目编码错误。 – Kyle

+0

不确定仍然没有运气与ngShow。 – Janet

2

ng-if帮助了我。

cellTemplate: "<a target='_blank' ng-if=\"row.entity.Status != 'Deleted'\" 
href='#########?ID={{row.entity.Id}}'>{{row.entity.Name}}</a><div ng- 
if=\"row.entity.Status == 'Deleted'\">{{row.entity.Name}}</div>" 
0

我刚添加HREF的状态-deleted和纯文本非删除选项。

var cellTemplate: "<a target='_blank' ng-if="row.entity.Status !=\ 'Deleted\'" 
href='#########>{{row.entity.Name}}</a><div ng- 
if="row.entity.Status == \'Deleted\'">{{row.entity.Name}}</div>"