2016-04-04 11 views
0

Birden çok entitytypes'ten veri görüntülemesi gereken bir xml görünümüm var (tablo her iki türün yalnızca ortak alanlarını gösterir). Tüm tabloyu dinamik olarak filtrelemek istediğim için iki bağlama manuel olarak kurmak, gerektiğinde filtrelemek ve her filtre uygulamasından sonra ilgili tablo modelini yeniden oluşturmak istiyorum.SapUi5'te elle bağlama nasıl oluşturulur?

Ancak, bağlarımın düzgün bir şekilde çalışmasını sağlamıyorum, veri almıyorlar veya filtrelenemiyorlar. controller.js içinde

:

this.getView().getModel() manifest.json tanımlanan global ODataModel döndüren
this.workOrderBinding = new Binding(this.getView().getModel(),)"/WorkOrderSet"); //Binding is of type sap.ui.model.odata.v2.ODataListBinding 
this.issueNoticeBinding = new Binding(this.getView().getModel(), "/IssueNoticeSet"); //Binding is of type sap.ui.model.odata.v2.ODataListBinding 

this.workOrderBinding.attachDataReceived(function() { 
    var tempModel = new JSONModel(); 
    tempModel.setData({ 
     WorkOrderSet: this.workOrderBinding.getModel().getData() 
    }, true); 
    tempModel.setData({ 
     WorkOrderSet: this.issueNoticeBinding.getModel().getData() 
    }, true); 
    this.getView().byId("table").setModel(tempModel); 
}, this); 

.

+0

var oBinding = oModel.bindList("/Categories"); var handler = function() { oBinding.detachChange(handler); } oBinding.attachChange(handler); oBinding.initialize(); 
this.getView(). byId ("tablo"). getModel(), temizleyin ve yeni verileri etkileyin. –

cevap

0

Kontrol dışarı iyi örnekler çok elle bağlama listesini yapmanın

Örnek vardır QUnit Test for OData List Binding

oluşturabilir ve yeni bir model her zaman set değil, başlangıçtaki biri aracılığıyla erişmek olmamalıdır
+0

Bağlantı için teşekkürler, çok yararlı olmasa da. 'Model.bindList' ve tuhaf geçici çözümler gibi belgesiz yöntemler kullanır. Ancak, 'attachChange' yerine' Binding.attachFilter 'kullanırsam, geri arama başarılı bir şekilde çağrılır, ancak filtrelenmiş verileri bağlamasından alamıyorum. binding.getModel(). getProperty ("/") 'her zaman tüm modelin filtre uygulanmamış verilerini döndürür – oli