2016-04-20 6 views
0

ich eine bedingte Zellvorlage definiert haben für eine der Spalte. Es zeigt die Daten korrekt an, aber ich kann nicht nach dem Text in der Zellenvorlage suchen. Hier ist meine plunkr: https://plnkr.co/edit/TDX5jtPord1hkzCVaw3L?p=previewSuchtext aus Zellvorlage funktioniert nicht in ui-Raster

var template1 = '<div class="">' + 
'<div class="" ng-if="COL_FIELD > 30">Greater </div> ' + 
'<div class="" ng-if="COL_FIELD < 30"> Lesser </div> ' + 
'</div>'; 

In der Vorlage ich die Bedingung gestellt haben, dass .. wenn COL_FIELD> 30 dann dann länger schreiben .. oder sonst Lesser schreiben. Und jetzt sollte ich in der Lage sein, nach der Spalte Größer oder Kleiner in Zahl zu suchen.

enter image description here

+0

Wo COL_FIELD im plnkr definiert ist? – tsuz

+0

COL_FIELD kommt mit UI-Grid .. Dies ist eigentlich der Wert dieser Spalte vor dem Rendern der Zellenvorlage. – undefined

+0

Ich habe diese Vorlage in der Plunkr hinzugefügt und es zeigt sich gut, so verstehe ich nicht, was Ihr Problem ist. Wo ist die Suchleiste? Was erwartest du zu sehen und was beobachtest du? – tsuz

Antwort

1

könnte eine Lösung sein, eine Eigenschaft auf Ihre Daten, wie hinzuzufügen: der Verwendung der Menge mit einer Vorlage

$http.get('data.json').success(function(data) { 
    data.map(function(item) { 
     item.greaterLesser = item.amount > 30 ? 'Greater' : 'Lesser'; 
    }); 
    $scope.gridOptions.data = data; 
}); 

und dann stattdessen binden nur auf dieses Objekt.

$scope.gridOptions = { 
    enableFiltering: true, 
    columnDefs: [{ 
     field: 'name', 
     width: 70 
    }, { 
     field: 'greaterLesser', 
     name: 'Number', 
     width: 90, 
    }, { 
     field: 'amount', 
     name: 'Currency', 
     cellFilter: 'currencyFilter:this', 
    }] 
}; 

Hier ist die updated plunker

bearbeiten

Wenn Sie die Vorlage verwenden möchten, können Sie die Suchfunktion selbst implementieren. Sie können die Option filter zu Ihrem Feld hinzufügen und die condition-Funktion implementieren. Etwas wie:

filter: { 
    condition: function(searchTerm, cellValue) { 
     var value = cellValue > 30 ? 'greater' : 'lesser'; 
     var result = value.search(searchTerm.toLowerCase()); 
     return result > -1; 
    } 
} 

Hier habe ich die search Funktion aber man konnte match oder eine andere Funktion verwenden. Hier ist ein demo plunker

+0

Diese den Zweck, für mich dient jetzt .. aber es gibt nur wenige Fälle, in denen ich brauche muss wegen spezifischen Styling Vorlage .. zu definieren und andere things..So Ich wollte nach dieser Vorlage suchen. Jedenfalls funktioniert das jetzt für mich. Werde dies markieren, wenn ich keine Antwort mehr bekomme. – undefined

+0

Ich aktualisierte meine Antwort mit einer anderen möglichen Lösung – Lulylulu

+0

Dies ist, was ich gesucht habe. Danke vielmals. – undefined

Verwandte Themen