2016-04-20 4 views
0

私は、列の1つに対して条件付きセルテンプレートを定義しました。データを正しく表示していますが、セルテンプレートのテキストを検索することができません。 ..私は.. COL_FIELD> 30はその後、その後、グレーターを書く場合の条件を入れているテンプレートで https://plnkr.co/edit/TDX5jtPord1hkzCVaw3L?p=previewセルテンプレートのテキストがui-gridで機能しない

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

か、他レッサー書き込み: はここに私のplunkrです。そして今、私は、より大きいまたは少ない数字列を検索することができるはずです。

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

と、代わりにテンプレートと量を使用しての、ちょうどこのプロパティにバインドします

enter image description here

+0

ここで、COL_FIELDはplnkrで定義されていますか? – tsuz

+0

COL_FIELDにはuiグリッドが付いています。これは実際にセルテンプレートをレンダリングする前のその列の値です。 – undefined

+0

私はそのテンプレートをplunkrに追加しました。それは問題なく表示されますので、あなたの問題が何であるか理解できません。検索バーはどこですか?何を見たいと思っていますか、あなたは何を観察していますか? – tsuz

答えて

1

ソリューションは、のようなあなたのデータのプロパティを追加することができます。あなたは、あなたが検索機能を自分で実装することができ、テンプレートを使用したい場合はここで

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

updated plunker

編集

です。フィールドにfilterオプションを追加し、condition機能を実装することができます。何かのように:

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

私はsearch機能を使用していますがmatchまたはいくつかの他の機能を使用することができます。 ここにはdemo plunker

+0

これは今私の目的を果たしますが、テンプレートを定義する必要があるケースはほとんどありません。特定のスタイリングなどの理由で私はそのテンプレートから検索したかったのです。とにかくこれは今私のために働く。それ以上の反応を得られないなら、これをマークします。 – undefined

+0

回答を別の解決策で更新しました – Lulylulu

+0

これは私が探していたものです。どうもありがとう。 – undefined

関連する問題