2015-02-09 15 views
5

Denetleyicimde, daha sonra ızgarada filtrelenen bir değer ayarlayabilmek/güncellemek istiyorum. Şu anda, filtreye yapılan değişiklikler, ızgaraya yazılana kadar güncellenmez; bu daha sonra filterChanged olayını tetikler. Izgara yapılandırmamda verileri otomatik olarak nasıl filtreleyebileceğime veya en azından sabit bir yenilemeye ilişkin herhangi bir fikrim var mı?AngularJS: UI Grid için harici filtreden süzgeç güncellemesi

Yardımlarınız için teşekkür ederiz.

AngularJS UI Grid web sitesinden biraz değiştirilmiş bir Plunker. http://plnkr.co/edit/pgX31NT3Ry3XllZ3JO2B?p=preview

İşte columnDefs bölümünde benim geçerli filtre tanımı aşağıda verilmiştir:

{ field: 'company', filter: { 
    noTerm: true, 
    condition: function(searchTerm, cellValue) { 
     return cellValue == scope.term; 
    } 

cevap

4

Eğer gridOptions tanımladığınızda, ile gridAPI değişkeni ayarlamak aşağıdadır: o zaman

onRegisterApi: function(gridApi){ 
    $scope.gridApi = gridApi; 
}, 

Ve güncelleme işlevi Filtre durumunu yeniden değerlendirmek için aşağıdakileri çalıştırın:

$scope.gridApi.grid.refresh() 

@Conan, bir kopma güncelleştirmesinin yayımlandığı ve bu yalnızca

'da çalıştığından bir hata oluştu ve bu, 3.2.x üzerinde çalışmaz. Test edilmiş ve 3.1.x ve 4.x sürümlerinde çalışır. http://plnkr.co/edit/YbgV9YZrWCZE4cc3qGru?p=preview

+1

Sürüm 3.2.1'den başlayarak, yenileme() artık, özel filtre işlevini yeniden değerlendirmek için ızgaraya neden olan olayı tetiklemez. Sadece filtre kutusuna metin koymak o olayı tetikler. – Bowen

+0

plunkr Güncelleme ... Ben oldukça uzun bir süre içinde API ile denemedim, şimdi başka bir şey olabilir – r0m4n

+0

Gibi söyledim, ben ui ızgara yeni sürümü ile ilgili bir sorun olduğunu düşünüyorum. – Bowen