2016-04-25 6 views
2

セルにテキストをステータスまたはプレーンテキストとしてリンクとして表示する必要があります。 ステータスが「削除済み」の場合、名前はプレーンテキストまたはハイパーリンクとして表示されます。以下は私のグリッドオプションです。私はいつもそれをハイパーリンクとして取得しています。セルテンプレートを修正して正しいものにしてください。条件付きセルテンプレートin uiグリッド角度j

$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

それは役に立ちません。ステータスに関係なく、名前とリンクの両方をテキストとして表示します。 – Janet

+0

'row.entity.Status!== 'Deleted''の場合のみリンクを表示します。 JSONを確認してください。 2つの異なるng-showを使用する2つのdivがあり、必要に応じて変更します。ブラインドコーディングエラーをおかしなさい。 – 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が追加されました。

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>" 
関連する問題